【发布时间】:2014-01-28 13:36:49
【问题描述】:
找不到我的 NUnit 类的 Spring.Net 上下文文件。我的问题是我应该将 Spring.Net 上下文文件放在哪里,以便 NUnit 测试可以找到它?我正在使用 Spring.Net 1.3.2(即 NuGet 默认的版本)和 Spring.Net 与 NUnit 的集成。单元测试未找到通过 AbstractDependencyInjectionSpringContextTests 指定的上下文文件。
这是我的第一个 .Net 项目项目,所以我可能缺少一些基本的东西。在我的解决方案中,我的主要 C# 项目将具有 MyAssembly 的程序集/项目名称。然后我在同一个解决方案中创建了一个名为 MyAssemply.Test 的测试项目。最初,我在项目的根目录中创建了我的单元测试类及其上下文文件。上下文文件被标记为嵌入式资源并且请勿复制。资源 URI 是“assembly://MyAssembly.Test/MyNamespace/EmailManagerTestContext.xml”。我不断得到一个空指针。
所以我尝试使用 AssemblyResource 类而不扩展 Spring.Net AbstractDependencyInjectionSpringContextTests 类。这也出现了空值,并没有告诉我它期望文件在哪里。我还使用了Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location),发现项目正在另一个驱动器的临时目录中构建。我尝试将类和上下文 XML 文件移动到与命名空间同名的文件夹中,但这不起作用。我见过一些示例,其中目录结构与名称空间与 Java 包不同,所以我有点困惑。感谢您的帮助。
【问题讨论】:
-
很难说你的实际问题是什么。一件事:临时位置可能是 NUnit 设置“影子复制”测试程序集的结果。另外:我不确定嵌入式资源的事情。也许这有帮助:stackoverflow.com/questions/3314140/…
-
你能添加你的配置文件吗?
标签: xml configuration nunit config spring.net