【问题标题】:Dynamic test cases动态测试用例
【发布时间】:2012-03-29 16:21:28
【问题描述】:

我们正在使用 NUnit 来运行我们的集成测试。其中一项测试应始终执行相同的操作,但采用不同的输入参数。不幸的是,我们不能使用 [TestCase] 属性,因为我们的测试用例存储在外部存储中。我们的 QA 工程师可以添加、删除或禁用(不删除)动态测试用例。 QA 人员无法将 [TestCase] 属性添加到我们的 C# 代码中。他们所能做的就是将它们添加到存储中。

我的目标是将测试用例从存储中读取到内存中,使用所有启用的测试用例运行测试,报告测试用例是否失败。我不能使用“foreach”语句,因为如果测试用例 #1 失败,那么其余的测试用例将根本不会运行。我们已经有构建服务器(CruiseControl.net),其中显示了生成的 NUnit 报告,因此我想继续使用 NUnit。

您能否指出一种实现目标的方法? 谢谢。

【问题讨论】:

标签: nunit automated-tests testcase


【解决方案1】:

您可以使用[TestCaseSource("PropertyName")\] 指定要从中加载数据的属性(或方法等)。

例如,我有一个 test case in Noda Time,它使用所有 BCL 时区 - 当然,它可能会随着时间而改变(在 Mono 上是不同的),而我根本不需要更改代码。

只需让您的属性/成员将测试数据加载到集合中,您就可以离开了。

(我碰巧一直使用属性,但听起来它也应该适用于方法。)

【讨论】:

    猜你喜欢
    • 2019-02-12
    • 2011-09-08
    • 2016-06-21
    • 1970-01-01
    • 2018-01-24
    • 1970-01-01
    • 1970-01-01
    • 2021-07-28
    • 1970-01-01
    相关资源
    最近更新 更多