簡體   English   中英

基於單元測試堆棧的虛擬機C#

[英]Unit Testing stack based virtual machine c#

我目前正在使用基於堆棧的虛擬機,該虛擬機從文本文件加載命令,並且我需要測試Increment和Decrement類。 我對單元測試還很陌生,但是我已經研究了一些示例來掌握語法的含義,但是現在我變得有些困惑了!

當我嘗試運行測試時,我得到了一個空值異常,所以我想我的下一個問題是,我是否最好使用Moq或Fakes傳遞一個值來測試它是否通過了預期的結果?

我看過Fakes程序集,這是我想出的,但是我不確定如何傳遞System.Collections。

在此之后,我陷入困境,任何幫助/建設性幫助都將是非常出色的。

編輯-整數值已在調用此類之前壓入堆棧。

聽起來您可能會遇到一點磨擦,因為對問題的建模有些奇怪。 為了我的錢,我會通過重新安排您的問題來避免嘲笑的困難 例如,如果將堆棧傳遞給操作本身,您將獲得更自然的測試;

var stack = new Stack();
var op = new Decr();
stack.push(0);
op.Execute(stack);
Assert.AreEqual(-1, stack.Peek());

您將避免在Decr類上出現不必要的狀態。 這是依賴倒置原則的一個示例,其中依賴對象被傳遞到一個類中,而不是由它創建。

暫無
暫無

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

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