问题描述
我在 BUnit 中有一个继承的 TestContext,我想添加 Testauthorization。
这不起作用:
using Bunit;
using Bunit.TestDoubles;
public class TestClass : TestContext
{
[Fact]
public void Comptest()
{
AddTestAuthorization();
}
}
如果我使用带有样板代码的“普通”版本,就像下面一样。
这有效:
using Bunit;
using Bunit.TestDoubles;
public class TestClass
{
public void Comptest()
{
TestContext ctx = new TestContext();
ctx.AddTestAuthorization();
}
}
所以我的问题是,如何在 BUnit 中使用 inherited TestContext 添加测试授权?
解决方法
由于 AddTestAuthorization
是一个扩展方法,您需要使用 this
来获取它。它在 C# 语言中是一个不幸的限制。
例如:
using Bunit;
using Bunit.TestDoubles;
public class TestClass : TestContext
{
[Fact]
public void CompTest()
{
this.AddTestAuthorization();
}
}