.net - 在 NUnit 中动态创建测试

标签 .net unit-testing nunit

使用 Nunit,我希望能够编写一个测试装置来读取特定目录中的所有文件名并为每个文件创建一个测试。

我可以很容易地编写一个测试方法来扫描目录并只执行所有测试,但是当我运行 NUnit 时,我希望能够单独查看每个测试。

这甚至可能吗?

最佳答案

我找到了一种适合我的目的的方法

有一个测试用例,并像这样用 TestCaseSource 属性标记它

[Test, TestCaseSource("GetTestCases")]
public void TestFile(string filename)
{
    //do test
}

然后编写 GetTestCases 来读取目录中的所有文件名
private static string[] GetTestCases()
{
    return GetAllFilesInCurrentDirectory();
}

然后当我启动 NUnit 时,我会得到一个要运行的测试列表(在 TestFile 下列出)。

关于.net - 在 NUnit 中动态创建测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/866816/

相关文章:

c# - 功能 'using declarations' 在 C# 7.3 中不可用。请使用语言版本 8.0 或更高版本 - 在一台计算机上出错,但在另一台计算机上正常

visual-studio - 有一个单独的项目专门用于单元测试有什么优点和缺点?

.net - 多次调用 string.Replace() 是否比一次调用 .NET 中的 Regex 方法效率低?

.net - 为什么我的 .NET Windows 服务有时不会自动启动?

iphone - 为 iPhone/iPad 编写单元测试的最佳方法是什么?

python - 在 python 上模拟父类(super class)调用

c#-4.0 - Nunit 2.6.2 Suite 运行两次而不是一次

c# - Assert.AreEqual 在比较两个 IEnumerable 对象时引发异常

c# - 将并发字典保存线程不安全的集合是否需要在C#中锁定

python - Python unittest下的时间戳测试