在运行时为NUnit测试提供参数

时间:2010-11-18 10:28:16

标签: testing nunit nunit-2.5

NUnit 2.5添加了对ValuesAttributeValueSourceAttribute等属性的参数化测试的支持,以便可以编写如下内容:

[Test]
public void MoneyTransfer(
    [Values("USD", "EUR")]string currency,
    [Values(0, 100)]long amount)
{
}

并获取指定参数的所有排列。无价。但是,在按“运行”之前直接在NUnit GUI中指定(覆盖)这些参数会很酷。不幸的是,NUnit中没有这样的功能(但是?)。是否有替代工具或测试框架允许我在运行测试之前指定参数(类似于我可以在WcfTestClient.exe中提供参数)?

2 个答案:

答案 0 :(得分:6)

一个选项可能是尝试支持的TestCaseSource属性 - 基本上,您可以将IEnumerable方法定义为测试的数据源 - 在此范围内,您可以在任何地方查找测试数据 - 可能是从数据库/平面文件/迭代器中提取给定目录中的文件等。

看看,这是一个方便的事情。

答案 1 :(得分:0)

单元测试应该自动运行并且可以重现。通过在运行时更改测试,您可以解决此问题。 所以我认为这不是你想做的事情......