我正在重写一个控制台应用程序并尝试使用单元测试。我在 Windows 7 PC 上的 Visual Studio 2010 中使用 NUnit、C#、.NET Framework 4。
当我在应用程序中更改代码时,我的单元测试不会获取最新的更改。我可以看到 NUnit 正在重新加载,但由于某种原因它没有获得最新版本。让 NUnit 与最新版本一起工作的唯一方法是删除对控制台应用程序的引用,将其添加回来并编译。
有没有办法避免这样做?我认为问题在于控制台应用程序被编译为 EXE,而对于我已经单元测试过的大多数应用程序,它们往往是 DLL。
编辑
我曾希望这个问题:Unit Testing a Console Application inside Visual Studio包含答案。如果您查看接受的答案,这就是我一直在进行的方式,但我的测试项目没有接受更改。我现在已经创建了一个类库,并且正在应用我的测试。我的控制台应用程序将简单地加载,然后调用这个类库。
第二次编辑
现在我的代码已经到了可以测试功能的阶段,并且我注意到我的控制台应用程序存在同样的问题。虽然它“说”它正在引用已编译的 DLL,但它只会在我删除并重新附加引用时获取最新的更改。所以,我认为问题不一定与 NUnit 相关,而是控制台应用程序的问题/怪癖。