【发布时间】:2014-10-17 06:53:13
【问题描述】:
我正在尝试使用 nUnit 为我的测试做一些依赖注入。我是 TDD 和 nUnit 的新手,所以我可能遗漏了一些简单的东西。所以基本上我已经为我的界面创建了一个 SetUp 方法。我最初使用的是构造函数,但我读到在执行 TDD 时这样做很糟糕,所以我现在使用方法。
当我运行测试时,我构造一个对象并将其分配给接口,然后我使用该接口调用一个方法。我想测试它是否可以解析字符串小数。
当我运行我的测试时,它说测试失败并且消息是:SetUp 或 TearDown 方法的签名无效
具体代码如下:
public class DonorTests
{
private IDonor _Donor;
private IValidateInput _ValidInput;
//DonorTests(IDonor donor, IValidateInput validInput)
//{
// _Donor = donor;
// _ValidInput = validInput;
//}
[SetUp]
void Setup(IDonor donor, IValidateInput validInput)
{
_Donor = donor;
_ValidInput = validInput;
}
[Test]
public void HandleStringNotDecimal()
{
_ValidInput = new ValidateInput();
Assert.IsTrue(_ValidInput.IsDecimal("3445.3450"));
}
}
我的班级使用这个接口
public class ValidateInput : IValidateInput
{
public decimal RoundTwoDecimalPlaces(decimal amount)
{
return Math.Round(amount);
}
public bool IsDecimal(string amount)
{
decimal ParsedDecimal;
return Decimal.TryParse(amount, out ParsedDecimal);
}
public decimal ConvertToString(string value)
{
decimal ParsedDecimal;
Decimal.TryParse(value, out ParsedDecimal);
return ParsedDecimal;
}
}
【问题讨论】:
-
安装需要抛出异常。
标签: c#-4.0 tdd nunit installation