我为一个名为game.cs的类中的方法创建了一个单元测试.出于某种原因,当我引用该类时,我无法创建新实例.如何使这个类可访问,以便我可以测试我的代码?
文件层次结构和解决方案:
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using BowlingKataTDD;
namespace BowlingKataTDDTest
{
[TestClass]
public class BowlingKataTDDUnitTests
{
[TestMethod]
public void DoesGameExist()
{
//arrange
BowlingKataTDD.
}
}
}
Run Code Online (Sandbox Code Playgroud)
BowlingKataTDD项目:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BowlingKataTDD
{
class Game
{
static void Main(string[] args)
{
}
}
}
Run Code Online (Sandbox Code Playgroud)
创建类public,以及需要在外部调用的该类的任何成员(例如通过单元测试):
public class Game
{
public static void Main(string[] args)
{
}
}
Run Code Online (Sandbox Code Playgroud)
您没有看到类的原因是它们是非公共的(默认为内部).
有两种解决方案:
publicInternalsVisibleToattribute.要使用第二个解决方案,请打开AssemblyInfo.cs并添加以下行:
[assembly: InternalsVisibleTo("BowlingKataTDDTest")]
Run Code Online (Sandbox Code Playgroud)
BowlingKataTDDTest 是程序集的名称,如项目文件中所定义.
| 归档时间: |
|
| 查看次数: |
2984 次 |
| 最近记录: |