【发布时间】:2013-04-02 06:26:38
【问题描述】:
我在单独的项目中编写了几个单元测试。在开发过程中,我每次都将 dll 加载到 NUnit.exe 中以检查结果。鉴于我已经完成了单元测试的编写,如何组织单元测试并将其附加到解决方案中。
我尝试在解决方案目录中创建“工具”文件夹,然后放置所有与 NUnit 相关的库,在测试项目的构建后事件中,我像下面这样连接了 nunit,它可以工作。
"$(SolutionDir)tools\nunit\nunit-console.exe" "$(TargetPath)"
但在我的一个测试中,我指的是一个 sqlite 数据库。如果我对它的位置进行硬编码,它可以正常工作,但我打算将它放在“App_Data”文件夹下的测试项目中。所以,我尝试使用下面的代码来获取相对路径,但它不起作用。但是当我将文件复制到“工具”文件夹时它工作正常,我猜执行上下文来自 NUnit 文件夹。
Path.Combine(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location),"App_Data\\test.txt")
【问题讨论】:
-
为什么您的单元测试会读取物理文本文件?
-
对不起,它是一个用于单元测试的 sqlite db 文件。
-
同样的问题也适用:为什么您的单元测试从实际数据库中读取?
-
这是一个sqlite数据库,实际数据库是SQL Server。 Sqlite 数据库包含单元测试所需的数据。
标签: c# unit-testing nunit