我开始在Visual Studio中使用单元测试。我正在阅读有关以下内容的Microsoft文档:Get started with unit testing,但是当我运行时,没有运行测试,并显示以下内容:程序由于其保护级别而无法访问。我不知道我现在要做什么。 你能帮忙吗?
这是我的Hello World程序
using System;
namespace demo
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
使用NUnit进行单元测试
using NUnit.Framework;
using System.IO;
using System;
namespace HelloWorldTests
{
public class Tests
{
private const string Expected = "Hello World!";
[SetUp]
public void Setup()
{
}
[Test]
public void TestMethod1()
{
using (var sw = new StringWriter())
{
Console.SetOut(sw);
demo.Program.Main();
var result = sw.ToString().Trim();
Assert.AreEqual(Expected, result);
}
}
}
}
错误显示:错误CS0122:由于其保护级别(CS0122)(HelloWorldTests),无法访问“程序”
答案 0 :(得分:0)
您需要将您的类程序声明为公共程序,以便测试项目可以访问它。
答案 1 :(得分:0)
感谢所有评论
using System;
namespace demo
{
public class Program
{
public static void Main()
{
Console.WriteLine("Hello World!");
}
}
}
答案 2 :(得分:0)
我不太同意其他答案。不要仅出于测试目的而公开方法。这可能会破坏封装。