我是TDD的新手,并且正在使用NUnit以C#编写的Card Game应用程序的测试.
它的证明大多非常有用,但有一些我想测试的东西,但不希望公开任何公共属性.
例如,我希望能够测试一个新的卡片组由4个套装组成,每套套装有13张卡片.它可能看起来像:
[test()] public void ADeckOfCardsHas4Suits() { Game game = new Game(); Assert.AreEqual(4,game.Deck.SuitCount); Assert.AreEqual(13,game.Deck.GetCards(Suit.Spades).Count) }
随着SuitCount返回类似的东西:
return this.cards.Select(c => c.Suit).distinct().Count();
和GetCards(西装套装):
return this.cards.where(c => c.Suit == suit);
但是我不想将API中的这些属性或方法暴露给UI(我甚至可能不希望暴露Deck),但我不确定如何在不公开的情况下对它们进行测试.
有没有普遍接受的方法吗?
干杯
斯图尔特
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。