C# 使用Xunit的Dot Net核心单元测试->;如何为类编写初始化函数
我已经开始在dotnetcore2.0中进行单元测试。 我已经为我的Web API编写了一个从类到单元测试控制器的类 请在下面找到我单元测试类的代码C# 使用Xunit的Dot Net核心单元测试->;如何为类编写初始化函数,c#,unit-testing,.net-core,xunit,C#,Unit Testing,.net Core,Xunit,我已经开始在dotnetcore2.0中进行单元测试。 我已经为我的Web API编写了一个从类到单元测试控制器的类 请在下面找到我单元测试类的代码 public class ArticlesControllerTests { private ArticlesController _articlesController; private Mock<IArticleRepository> _articleRepositoryMock = new Mock<IAr
public class ArticlesControllerTests
{
private ArticlesController _articlesController;
private Mock<IArticleRepository> _articleRepositoryMock = new Mock<IArticleRepository>();
public ArticlesControllerTests()
{
_articlesController = new ArticlesController(_articleRepositoryMock.Object);
}
[ClassInitialize]
public static void Init()
{
AutoMapperInit.Initialize();
}
}
公共类ArticlesControllerTests
{
私人物品控制人(物品控制人);;
私有模拟_articleRepositoryMock=新模拟();
公共物品控件测试()
{
_articlesController=新的articlesController(\u articleRepositoryMock.Object);
}
[分类初始化]
公共静态void Init()
{
AutoMapperInit.Initialize();
}
}
我想写一个Init函数,它将调用一次并初始化AutoMapper配置。但是[ClassInitialize]
不存在。我在网上搜索过,但找不到该属性
我应该怎么做才能使它适用于Dot Net Core 2.0。在测试类上使用静态构造函数应该提供相同的行为
public class ArticlesControllerTests {
private ArticlesController _articlesController;
private Mock<IArticleRepository> _articleRepositoryMock = new Mock<IArticleRepository>();
public ArticlesControllerTests() {
_articlesController = new ArticlesController(_articleRepositoryMock.Object);
}
static ArticlesControllerTests() { //<-- static constructor
AutoMapperInit.Initialize();
}
//...
}
公共类ArticlesControllerTests{
私人物品控制人(物品控制人);;
私有模拟_articleRepositoryMock=新模拟();
公共物品控件测试(){
_articlesController=新的articlesController(\u articleRepositoryMock.Object);
}
静态ArticlesControllerTests(){//在这个文档中,我找不到任何测试类上的Init
functionstatic构造函数可以像well@Saadi静态构造函数工作了吗?这个问题还不够清楚。标题说正在使用xUnit。标签上说它是nunit。显然帮助你的帖子是关于mstest的。请澄清你的想法正在使用。这三个框架处理初始化的方式不同,并且AFAIK ClassInitialize只存在于mstest中。我们中的许多人在单个框架中具有特定的专业知识,不必回答WRT其他框架…或者如果我们无法确定您要使用的框架!