I'm attempting to pass Guid.Empty into my unit test:
[TestCase(null)]
[TestCase(Guid.Empty)]
public void When_AccountGuid_IsNullOrEmpty_AddError_Is_Invoked(Guid? accountGuid)
{
}
However the compiler is complaining:
An attribute argument must be a constant expression, typeof expression or array creation expression of an attribute parameter type
How do I pass Guid.Empty into my unit test method?
I've also tried to factor it out by declaring it as a private member in the class, with the same compiler error:
private static Guid _emptyGuid = Guid.Empty;
[TestCase(null)]
[TestCase(_emptyGuid)]
public void When_AccountGuid_IsNullOrEmpty_AddError_Is_Invoked(Guid? accountGuid)
{
}
In this situation use the TestCaseSource
atribute to define the list of cases.
static Guid?[] NullAndEmptyGuid = new Guid?[] { null, Guid.Empty };
[TestCaseSource("NullAndEmptyGuid")]
public void When_AccountGuid_IsNullOrEmpty_AddError_Is_Invoked(Guid? accountGuid)
{
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With