单元测试'Employee'是一个名称空间,但是像一个类型一样使用

时间:2017-01-20 23:18:26

标签: c# .net unit-testing

在Visual Studio 2017中,我以这种方式构建了Project文件。

[源代码]

Project
    Employee (namespace)
         Employee  (.cs file)

Tests (Unit Test within the same solution referencing Project)
     Employee (namespace)
          EmployeeTest (.cs unit test)

测试/雇员/ EmployeeTest.cs

namespace Tests.Employee
{
    [TestClass]
    public class EmployeeTest
    {
        [TestMethod]
        public void TestConstructor()
        {
            Employee employee = new Employee(); // error

        }
    }
}

错误:

'Employee' is a namespace but used like a type

问题:

除了修复错误之外,构建我的文件的推荐方法是什么,所以我不会遇到名称冲突,需要我保持命名空间名称与类名相同并且也匹配文件夹结构,可以不要那样。

注意:

我是.net开发的新手

2 个答案:

答案 0 :(得分:2)

您有一个名称空间和一个名称完全相同的类(通常是糟糕的设计),因此您必须实例化指定完全限定名称空间的对象:

var emp = new Project.Employee.Employee():

答案 1 :(得分:0)

您有Tests.Employee作为命名空间。

更改

namespace Tests.Employee { // rest of the code }

namespace EmployeeTests { // rest of the code }