C# NUnit在不同模块的测试之间共享数据

C# NUnit在不同模块的测试之间共享数据,c#,singleton,nunit,C#,Singleton,Nunit,我有一个VS解决方案,有许多项目。每个项目都有一个与之关联的单元测试项目。例如,假设项目A和B分别有单元测试项目A.test和B.test 两个单元测试项目中的测试都依赖于(相同的)必须从文件加载的数据,每次都需要读取相当多的数据。如果我没有从每个单元测试的文件中重新读取数据,那么运行所有单元测试的总时间(+1500)将显著减少 我有一个想法,将TestDataManager创建为单例,让它在第一次请求时读取数据,并将数据缓存在内存中。下次请求相同的数据时,管理器只返回已经缓存的数据。这对于同一

我有一个VS解决方案,有许多项目。每个项目都有一个与之关联的单元测试项目。例如,假设项目A和B分别有单元测试项目A.test和B.test

两个单元测试项目中的测试都依赖于(相同的)必须从文件加载的数据,每次都需要读取相当多的数据。如果我没有从每个单元测试的文件中重新读取数据,那么运行所有单元测试的总时间(+1500)将显著减少

我有一个想法,将TestDataManager创建为单例,让它在第一次请求时读取数据,并将数据缓存在内存中。下次请求相同的数据时,管理器只返回已经缓存的数据。这对于同一项目中的单元测试(比如A.Test)来说是可以预期的,但是当从B.Test中的测试调用TestDataManager时,该管理器已经被拆除并重新创建

有人知道如何解决在单元测试项目之间更改时将数据保存在内存中的问题吗


塔克斯

它要求您在同一运行和同一AppDomain中运行两个程序集。一些跑步者(例如nunit3控制台)允许您设置选项来执行此操作。其他的,如NUnit 3 VS适配器,则没有