【发布时间】:2019-04-18 15:23:08
【问题描述】:
我正在使用 NUnit 测试由另一个组开发的 DLL,但在尝试调用此外部 DLL 中的方法时出错,该外部 DLL 在我的测试项目中设置为引用。错误是:'UT' 是一个命名空间,但用作类型。 我尝试了几种方法,但没有一种方法有效。如何正确引用?
我尝试使用这个方法的方法与我开发的另一个类一起工作,而后者在同一个命名空间中。现在,使用外部 DLL,它只是在编译之前显示错误。
这是我的程序:
using NUnit.Framework;
namespace UnitTesting.GettingStarted.Tests
{
[TestFixture]
public class TestUT
{
[TestCase("A12345", "CII", "10000")]
public void TestAccessVerification(string psCodeUsager, string psCodeApp, string psCodeFonction)
{
UT systemUnderTest = new UT();
Assert.IsTrue(systemUnderTest.VerifierAcces(psCodeUsager, psCodeApp, psCodeFonction));
}
}
}
DLL 中的源代码是这样的:
using ...;
namespace GZM
{
public class UT
{
public static bool VerifierAcces(string psCodeUsager, string psCodeApp, string psCodeFonction)
{
... // returns true or false
{
{
{
错误发生在以下行:
UT systemUnderTest = new UT();
两个“UT”都带有错误下划线,“UT”是命名空间,但用作类型。
但是,如果我选择:
var systemUnderTest = new GZM.UT();
错误将发生在下一行并且
systemUnderTest.VerifierAcces
将用消息“成员 'UT.VerifierAcces(string, string, string) 不能通过实例引用访问;改为使用类型名称来限定它。”消息下划线。
通常情况下,我的测试应该可以运行并返回 True,但由于调用过程中的错误,我什至无法启动它。
【问题讨论】:
-
对您怀疑为重复的问题的答案并不能解决我的问题,因为在引用方面还有另一个错误,尽管项目中正确引用了 dll。
标签: c# testing dll reference nunit