AutoMapper与SetUpFixture不能很好地配合

时间:2017-01-17 16:02:14

标签: c# unit-testing nunit resharper automapper

环境:C#,Visual Studio 2015,Resharper

我们有一个严重依赖Automapper的项目。 当然,这意味着我们的测试在很大程度上依赖于Automapper的映射。

不幸的是,地图注册过程相当慢(它基于反射)。

最初,我们在每个测试的SetUp方法中注册了地图。通过将注册移动到TestFixtureSetUp(即每个Class运行一次,而不是每次测试运行一次),我设法让我们的测试套件从运行20-25分钟到运行,运行到运行约7分钟。

但由于我们有许多测试类,所以仍然会进行大量调用。 所以我想在每个TestProject的顶部设置一个SetUpFixture,并且每个Project都要注册一次,而不是每个Class注册一次。

乍一看这很有效 - 运行个别测试仍然有效,并且运行个别课程'值得测试仍然有效。

但是如果我尝试在测试项目中运行所有测试(在R#UnitTest管理器中,或者通过提交更改在Jenkins中运行),那么一切都会失败,就像注册没有发生一样。

有没有人知道为什么会发生这种情况?

我有一种可怕的感觉,答案与测试如何执行以及哪些线程/上下文存在并被创建/销毁有关。 关于如何测试这个理论的任何建议?

0 个答案:

没有答案