Properly test interfaces in c# private methods
本问题已经有最佳答案,请猛点这里访问。
我是c#的新手。 我确实有一些测试javascript的经验。 我正在考虑评估这个测试,类似于检查一个方法,通过sinon与间谍调用。
但是,我并不确定要测试什么。 正如我所说,我对c#很新,并且正在进行测试以了解代码的工作原理。
这是我需要测试的私有方法
1 2 | private TicketResponse.PaymentType GetPaymentType(TicketResponse.FormOfPaymentCreditCard paymentType, VCR_DisplayRSTicketingInfosTicketingInfoTicketingTicketDataTourInfo tourInfo) { |
我读到我测试了接口。 所以我正在测试这些方面的东西?
1 2 3 4 | public enum PaymentType { CASH, CREDIT_CARD, NITP, TRAVEL_CREDIT, GIFT_CARD, JETBLUE_REWARDS, NONE, CHECK, EXCHANGE } |
任何见解都会非常有用,谢谢。
通常的测试方法是仅测试您的类的公共接口。 测试私有方法通常会创建脆弱的测试,并不一定会测试其他客户端类将使用的公共端点。
如果您只测试公共接口,则可以更轻松地更改详细信息/实现(在私有方法中)而不会破坏测试。
您无法测试私有方法,因为它在定义它的类之外是不可见的。
如果您希望您的方法可测试,则必须是公共的或具有公共包装器。
私有方法通常通过对调用它们的公共方法的测试来间接测试。