gpt4 book ai didi

c# - NUnit - 加载所有 TestCaseSources,即使当前测试不需要它们

转载 作者:太空狗 更新时间:2023-10-29 17:59:24 28 4
gpt4 key购买 nike

我最近开始使用 NUnit 为我的项目进行集成测试。这是一个很棒的工具,但我发现了一个我似乎无法解决的缺点。我所有的集成测试都使用 TestCaseSource 属性并为每个测试指定一个测试用例源名称。现在的问题是准备这些测试用例源需要相当长的时间(~1 分钟),如果我运行单个测试,NUnit 总是加载每个单个测试用例源,即使它不是测试的测试用例源我正在运行。

是否可以更改此行为以便仅加载我正在运行的测试的测试用例源?我想避免每次创建新测试时都创建新程序集(看起来相当多余和麻烦,更不用说,难以维护),因为我读过不同程序集中的测试是分开加载的,但我不不知道测试用例的来源。值得一提的是,我使用 Resharper 作为测试运行器。

TL;DR:需要告诉 NUnit 只加载在当前 session 中运行的测试所需的 TestCaseSources。当前行为是为运行的任何测试加载所有 TestCaseSources。

最佳答案

您能否通过将源实例化移动到辅助方法并在每组测试的设置方法中调用它们来做到这一点?我的集成测试套件中经常有一组辅助方法,用于为不同的测试设置共享数据。我只调用 [Setup] 中当前套件所需的辅助方法

关于c# - NUnit - 加载所有 TestCaseSources,即使当前测试不需要它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18638948/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com