簡體   English   中英

內部屬性不由NSubstitute處理

[英]Internal properties are not handled by NSubstitute

假設我有以下課程:

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

現在,我嘗試使用NSubstitute進行模擬:

var mock = Substitute.For<Test>();

但那失敗了:

程序集'DynamicProxyGenAssembly2,Version = 0.0.0.0,Culture = neutral,PublicKeyToken = a621a9e7e5c32e69'中類型'Castle.Proxies.TestProxy'中的方法'get_Prop'沒有實現。

我想到將NSubstitute添加到[InternalsVisibleTo] ,但不幸的是我測試的程序集已經簽名, NSubstitute不是,而Internals不能是VisibleTo unsigned類。

我怎么解決這個問題?

我找到了解決方案。 必須將以下行添加到要測試的程序集的Assembly.cs文件中( 而不是測試程序集):

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM