在运行时向 NUnit 测试提供参数
NUnit 2.5 添加了对具有 ValuesAttribute
和 ValueSourceAttribute
等属性的参数化测试的支持> 这样就可以编写类似以下内容的内容:
[Test]
public void MoneyTransfer(
[Values("USD", "EUR")]string currency,
[Values(0, 100)]long amount)
{
}
并获取指定参数的所有排列。无价。但是,在按“运行”之前直接在 NUnit GUI 中指定(覆盖)这些参数会很酷。不幸的是,NUnit 中还没有这样的功能(还没有?)。是否有替代工具或测试框架允许我在运行测试之前指定参数(例如我可以在 WcfTestClient.exe)?
NUnit 2.5 adds support for parameterized tests with attributes like ValuesAttribute
and ValueSourceAttribute
so that one can write something like:
[Test]
public void MoneyTransfer(
[Values("USD", "EUR")]string currency,
[Values(0, 100)]long amount)
{
}
and get all permutations for parameters specified. Priceless. However, it would be cool to specify (override) those parameters directly in NUnit GUI before pressing 'Run'. Unfortunately there is no such functionality in NUnit (yet?). Is there an alternative tool or testing framework allowing me to specify parameters before running a test (something like i can provide parameters in WcfTestClient.exe)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
一种选择可能是尝试支持的 TestCaseSource 属性 -基本上,您可以将 IEnumerable 方法定义为测试的数据源 - 在其中,您可以在任何您喜欢的位置查找测试数据 - 可以从给定目录中的数据库/平面文件/迭代器循环文件中提取数据等。
看看这个,了解一下很方便。
One option could be to try out the TestCaseSource attribute that's supported - basically, you can define an IEnumerable method as source of data for a test - and within that, you can look anywhere you like for test data - could be to pull from a database/flat file/iterater round files in a given directory etc.
Have a look at that, it's a handy thing to know about.
单元测试应该自动运行并且可重现。通过在运行时更改测试,您可以打破这种行为。
所以我认为这不是你想做的事情......
Unit test are supposed to run automatically and be reproducible. By changing test at runtime you break this behavior.
So I don't think this is something you want to do...