假设,我有以下类(class):

public abstract class Test
{
    internal abstract int Prop
    {
        get;
    }
}

现在,我尝试使用 NSubstitute 进行模拟:
var mock = Substitute.For<Test>();

但这失败了:



我想将 NSubstitute 添加到 [InternalsVisibleTo] ,但不幸的是我测试的程序集是签名的, NSubstitute 不是, Internals 不能是 VisibleTo 无符号类。

我怎么解决这个问题?

最佳答案

我找到了解决方案。必须在程序集的 Assembly.cs 文件中添加以下行,他要测试(不是测试程序集):

[assembly:InternalsVisibleTo("DynamicProxyGenAssembly2,PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")]

关于c# - NSubstitute 不处理内部属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19972582/

10-13 06:07