首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >非单位相对路径失败

非单位相对路径失败
EN

Stack Overflow用户
提问于 2010-03-20 06:09:18
回答 1查看 1.1K关注 0票数 1

我在Nunit上遇到了问题,在运行测试时找不到图像文件,每次它查找图像时,它都在Nunit文件夹中查找,而不是在二进制文件所在的文件夹中查找。下面是对正在发生的事情的详细描述。

  1. I正在构建一个正在测试中的二进制文件,该二进制文件包含一些游戏元素的定义和png文件,这些文件将定义我使用的sprites (为了理智起见称之为Binary1 ),
  2. Nunit从执行测试方法的独立二进制(Binary1Test)中运行针对第一个二进制( Binary1 )的测试方法。
  3. 所有测试都通过,除非测试在Binary1中执行代码,后者要求Binary1使用其中的一个图像文件(该文件是通过一个相对路径定义的)。调用该方法时,Nunit将抛出一个未找到的异常文件,声明它找不到该文件,并声明它正在查看Program Files\Nunit.net 2.0文件夹

中的内容

因此,我不知道为什么代码会这样做,而且当我拔出Enviornment.CurrentDirectory时,它会给出正确的路径(调试文件夹的路径),而不是nunit的路径。另外,如果我使用此方法而不是使用相对路径,那么我的测试将没有问题地运行。所以我的问题是,有人知道为什么在从二进制文件中加载相对路径的情况下,nunit决定使用它的目录而不是二进制文件所在的目录和图像存储的位置?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2010-03-21 00:20:54

我不知道为什么会发生这种情况,但我想提到一些可能有助于您解决一些问题的问题。在测试中有路径约束断言吗?它可能会帮助您解决这个问题。

下面是语法的NUnit.org链接:http://www.nunit.org/index.php/extensions/docs/2.4/files/index.php?p=pathConstraints&r=2.5.1

下面是一个相对路径语法的示例(来自上面的链接)。您可能需要断言您的相对路径与绝对路径相同,并查看发生了什么。至少,对于需要通过的路径,您将有一个特定的失败测试。

代码语言:javascript
运行
复制
Assert.That( "/folder1/./junk/../folder2", 
    Is.SamePath( "/folder1/folder2" ) );
Assert.That( "/folder1/./junk/../folder2/x", 
    Is.Not.SamePath( "/folder1/folder2" ) );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2482152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档