我們有一個單元測驗,在這個單元中參考了我服務中的另一個方法。我應該在當前單元測驗中呼叫另一個方法,還是使用嘲弄解決方案?
在我的測驗案例中,我們呼叫參考 方法ChooseDoor()做一些操作,之后我們呼叫Act方法SwitchDoor(),我們應該使用一些嘲弄或者這種方法 可以嗎?因為我們呼叫的參考方法和行為,它們都在同一個類中,對其他類沒有任何依賴性。
public class GameService
{
public Door ChoosesDoor()
{
//span>一些邏輯。
}
public Door SwitchDoor()
{
//span>一些邏輯。
}
}
[Fact] 。
public void switch_door_should_return_a_new_door_with_valid_state_that_chooses()
{
//Arrange {
var oldChoosesDoor =_game.ChoosesDoor()。
/Act
var newDoor = _game.SwitchDoor();
//Assert
oldChoosesDoor.DoorState.ShouldBe(State.Stateless)。
newDoor.DoorState.ShouldBe(State.Chosen)。
oldChoosesDoor.DoorState.ShouldNotBe(newDoor.DoorState)。
oldChoosesDoor.Number.ShouldBeInRange(1,3) 。
uj5u.com熱心網友回復:
只要你是e2e測驗就沒問題,但是,對于單元測驗來說,這樣做你是在強迫互相依賴。雖然你作為一個開發者傾向于盡可能地重復使用代碼,但是對于單元測驗來說,你會強制遵循AAA模式。
uj5u.com熱心網友回復:
呼叫被測類的其他方法作為設定的一部分是完全可以的。 通過這樣做,你也可以測驗另一個方法。請注意,你正在測驗你的代碼的一個行為。
即使在單元測驗中,單元也是行為的一個單位,它可以包括單個或多個不同的方法或型別。
"隔離測驗 "意味著測驗應該與其他測驗隔離開來。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/318670.html
標籤:
