如何在BUnit中添加继承TestContext的测试权限?

How to add test authorization with inherited TestContext in BUnit?

我在 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();
        }
}