2

我在单独的项目中编写了几个单元测试。在开发过程中,我每次都将 dll 加载到 NUnit.exe 中以检查结果。鉴于我已经完成了单元测试的编写,如何组织单元测试并将其附加到解决方案中。

我尝试在解决方案目录中创建“工具”文件夹,然后放置所有与 NUnit 相关的库,在测试项目的构建后事件中,我像下面这样连接了 nunit,它可以工作。

"$(SolutionDir)tools\nunit\nunit-console.exe" "$(TargetPath)"

但在我的一个测试中,我指的是一个 sqlite DB。如果我对其位置进行硬编码,它可以正常工作,但我打算将它放在“App_Data”文件夹下的测试项目中。所以,我尝试使用下面的代码来获取相对路径,但它不起作用。但是当我将文件复制到“工具”文件夹时它工作正常,我猜执行上下文来自 NUnit 文件夹。

Path.Combine(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location),"App_Data\\test.txt")
4

1 回答 1

0

如果您不需要专门的 nunit,您也可以使用内置的 Visual Studio 支持进行单元测试......它也已被合并到最新的 Express 版本中,您不必为这样的问题而苦苦挣扎; )

无论哪种方式,我相信您误解了单元测试的基础知识。我们从不针对实际数据库进行测试,这是一种非常糟糕的做法。您应该对该主题进行一些研究,并了解mocking此类事物背后的理论。

于 2013-04-01T22:26:38.713 回答