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

发布于 2024-10-03 02:56:06 字数 548 浏览 4 评论 0原文

NUnit 2.5 添加了对具有 ValuesAttributeValueSourceAttribute 等属性的参数化测试的支持> 这样就可以编写类似以下内容的内容:

[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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

天暗了我发光 2024-10-10 02:56:06

一种选择可能是尝试支持的 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.

羁〃客ぐ 2024-10-10 02:56:06

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

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...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文