美好的一天,
我在xUnit中遇到了问题我正面临这样的错误:“System.NullReferenceException : Object reference not set to an instance of an object.
”
这是我的代码,它根据季节测试rulename。
public class UnitTest1
{
private CalculateDiscount calculateDiscount;
[Fact]
public void Setup()
{
calculateDiscount = new CalculateDiscount();
}
[Theory]
[InlineData(10.00, "Summer", 100.00)]
public void WhenRuleName_Is_Summer_Return_Valid(decimal amount, string ruleName, decimal expected)
{
var result = calculateDiscount.CalculateDiscountSalary(amount, ruleName);
Assert.Equal(expected, result);
}
}
这是我的实际实现
public class CalculateDiscount
{
public decimal CalculateDiscountSalary(decimal amount, string ruleName)
{
if (ruleName.Equals("Summer"))
{
return amount * 10.00M;
}
else if (ruleName.Equals("Winter"))
{
return amount * 15.00M;
}
else
{
return amount * 20.00M;
}
}
}
提前谢谢。
答案 0 :(得分:1)
事实上不必在理论之前运行。
您的设置必须是您的构造函数。如果您将设置函数更改为构造函数,则会解决空引用异常问题
public UnitTest1()
{
calculateDiscount = new CalculateDiscount();
}
答案 1 :(得分:0)