正确测试c#私有方法中的接口

时间:2016-07-21 20:42:14

标签: c# unit-testing private-methods

我是c#的新手。我确实有一些测试javascript的经验。我正在考虑评估此测试,类似于检查通过sinon与间谍调用的方法。

但是,我并不确定要测试什么。正如我所说,我对c#很陌生,正在进行测试以了解代码的工作原理。

这是我需要测试的私有方法

 private TicketResponse.PaymentType GetPaymentType(TicketResponse.FormOfPaymentCreditCard paymentType, VCR_DisplayRSTicketingInfosTicketingInfoTicketingTicketDataTourInfo tourInfo)
    {

我读到我测试了接口。所以我正在测试这些内容?

 public enum PaymentType
{
    CASH, CREDIT_CARD, NITP, TRAVEL_CREDIT, GIFT_CARD, JETBLUE_REWARDS, NONE, CHECK, EXCHANGE
}

任何见解都会非常有用,谢谢。

2 个答案:

答案 0 :(得分:2)

通常的测试方法是仅测试您班级的公共接口。测试私有方法通常会产生脆弱的测试,并且不一定会测试其他客户端类将使用的公共端点。

如果您只测试公共接口,则可以更轻松地更改详细信息/实现(在私有方法中),而不会破坏测试。

答案 1 :(得分:0)

您无法测试私有方法,因为它在定义它的类之外是不可见的。

如果您希望您的方法可以测试,则必须公开或使用公共包装。

私有方法通常通过对调用它们的公共方法的测试来间接测试。