我最近开始使用 NUnit 为我的项目做集成测试。这是一个很棒的工具,但我发现了一个我似乎无法找到答案的缺点。我所有的集成测试都使用 TestCaseSource 属性并为每个测试指定一个测试用例源名称。现在的问题是准备这些测试用例源需要相当长的时间(约 1 分钟),如果我正在运行单个测试,NUnit 总是会加载每个测试用例源,即使它不是测试的测试用例源我正在运行。
可以更改此行为,以便仅加载我正在运行的测试的测试用例源吗?我想避免每次创建新测试时都创建新程序集(似乎相当多余和繁琐,更不用说,难以维护),因为我读过不同程序集中的测试是单独加载的,但我没有不知道测试用例的来源。值得一提的是,我使用 Resharper 作为测试运行器。
TL;DR:需要告诉 NUnit 只加载当前会话中运行的测试所需的 TestCaseSource。当前行为是为运行的任何测试加载所有 TestCaseSource。