簡體   English   中英

使用 moq 和 xunit 測試由另一個類方法返回的類對象的私有成員

[英]Testing private members of a class object returned by another class method using moq and xunit

我有一個這樣的場景:

public class A
{
    private int p1;

    public A(int x)
    {
        p1 = x;
    }
}

public class B
{
    public A Func1(int x)
    {
        if (x < 0)
        {
            return (new A(-1 * x));
        }
        else
        {
            return (new A(x));
        }
    }
}

我想知道有哪些選項可以測試Func1是否正確設置了返回對象的p1屬性。

謝謝!

你總是可以通過反射到達一個領域:

[Fact]
public void TestMethod()
{
    A a = new B().Func1(-15);

    Assert.Equal(15,
        (int)a.GetType().GetField("p1", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance).GetValue(a));
}

暫無
暫無

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

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