gpt4 book ai didi

c# - 将单元测试附加到 C# 项目的标准方法

转载 作者:太空宇宙 更新时间:2023-11-03 16:16:18 24 4
gpt4 key购买 nike

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

我曾尝试在解决方案目录中创建“tools”文件夹,然后放置所有与 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")

最佳答案

如果您不需要特定的 nunit,您也可以使用内置的 visual studio 支持来进行单元测试...它也已包含在最新的 Express 版本中,您不必为问题而苦恼像这样 ;)

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

关于c# - 将单元测试附加到 C# 项目的标准方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15752234/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com