如何解决单元测试的错误“当前上下文中不存在名称'myClass'”?

时间:2019-09-12 18:12:10

标签: c#

我正在为正在构建的小型控制台应用程序编写单元测试,但是,该单元测试无法识别我从主程序引用的类。

单元测试

using Microsoft.VisualStudio.TestTools.UnitTesting;
using Assert = Microsoft.VisualStudio.TestTools.UnitTesting.Assert;
using System;
using MyApp;

namespace MyTest
{
    [TestClass]
    public class SampleTest
    {
        [TestMethod]
        public void TestFunction()
        {
            // Arrange
            string firstName = "John";
            string lastName = "Smith";
            string expectedOutput = "My name is John Smith";

            // Act
            string actualOutput = SampleClass.SampleString(name, age);

            // Assert
            Assert.AreEqual(expectedOutput, actualOutput);
        }
    }
}


主要应用

namespace MyApp
{
    class Program
    {
        public static class SampleClass
        {
            public static string SampleString(string firstName, string lastName)
            {
                // Code here
            }
        }
    }
}

两个项目都在相同的解决方案中,但是尽管顶部有using MyApp;语句,但我收到错误消息“名称'SampleClass'在当前上下文中不存在”。

1 个答案:

答案 0 :(得分:2)

更改此行以适当地限制班级的资格:

string actualOutput = Program.SampleClass.SampleString(name, age);

或从Program中退出课程:

namespace MyApp
{
    class Program
    {

    } //Program ends here

    public static class SampleClass
    {
        public static string SampleString(string firstName, string lastName)
        {
            //Code here
        }
    }
}