.net NUnit如何检测测试之间的依赖关系?
我已经开始了一个项目的工作,我发现一些单元测试依赖于另一个在它之前已经运行过的事实。有没有什么方法可以在不手动运行的情况下检测此类测试?这个项目中有几千个测试,这不是我做的最有趣的事情。如果在文件中定义了测试用例Prerequeste,那么很容易识别。否则,您需要使用试错法来识别此信息。之后,您可以使用测试初始化和测试清理来组织测试。如果在文件中定义了测试用例的先决条件,则很容易识别。否则,您需要使用试错法来识别此信息。之后,您可以使用测试初始化和测试清理来组织测试。我担心NUnit对这个问题没有任何帮助,尽管我经常想到一些可以检测依赖关系的功能。不过,这是为了未来 现在,我采用的方法如下。我假设使用console runner和NUnit 3.x.net NUnit如何检测测试之间的依赖关系?,.net,nunit,.net,Nunit,我已经开始了一个项目的工作,我发现一些单元测试依赖于另一个在它之前已经运行过的事实。有没有什么方法可以在不手动运行的情况下检测此类测试?这个项目中有几千个测试,这不是我做的最有趣的事情。如果在文件中定义了测试用例Prerequeste,那么很容易识别。否则,您需要使用试错法来识别此信息。之后,您可以使用测试初始化和测试清理来组织测试。如果在文件中定义了测试用例的先决条件,则很容易识别。否则,您需要使用试错法来识别此信息。之后,您可以使用测试初始化和测试清理来组织测试。我担心NUnit对这个问题没
--workers=0
添加到命令行,并验证问题是否仍然存在。该设置强制所有测试按顺序运行,排除了问题是由于并行执行造成的可能性,这是另一回事--where
选项选择测试夹具的某些部分。如果你能做到的话,选择一半左右是最好的。如有必要,使用临时名称空间更改使其更容易这是一个相当乏味的过程,可能需要一段时间。有时,只需通过所有测试寻找依赖性的机会并将其删除就更容易了。理想情况下,测试代码不应该设置对象的状态或外部状态。任何这样做都是可疑的。我担心NUnit对这个问题没有任何帮助,尽管我经常想到一些可以检测依赖关系的功能。不过,这是为了未来 现在,我采用的方法如下。我假设使用console runner和NUnit 3.x
--workers=0
添加到命令行,并验证问题是否仍然存在。该设置强制所有测试按顺序运行,排除了问题是由于并行执行造成的可能性,这是另一回事--where
选项选择测试夹具的某些部分。如果你能做到的话,选择一半左右是最好的。如有必要,使用临时名称空间更改使其更容易这是一个相当乏味的过程,可能需要一段时间。有时,只需通过所有测试寻找依赖性的机会并将其删除就更容易了。理想情况下,测试代码不应该设置对象的状态或外部状态。任何这样做都是可疑的。你说有些人依赖其他人是什么意思?“共享相同的数据?”……一些单元测试依赖于另一个单元测试在它之前已经运行过的事实。”在这种情况下,您拥有的是集成测试,而不是单元测试。真正的单元测试可以以任何顺序运行;他们没有依赖关系。你说有些人依赖其他人是什么意思?“共享相同的数据?”……一些单元测试依赖于另一个单元测试在它之前已经运行过的事实。”在这种情况下,您拥有的是集成测试,而不是单元测试。真正的单元测试可以以任何顺序运行;它们没有依赖关系。没有任何线索,但可能有一些测试运行程序或nUnit设置允许我在单独的AppDomain中运行所有测试,并进行完全初始化。我承认完成它可能需要几个小时,但它可以节省我更多的工作。没有任何线索,但可能有一些测试运行程序或nUnit设置允许我在单独的AppDomain中运行所有测试,并进行完全初始化。我承认完成它可能需要几个小时,但它可以节省我更多的工作。