我想測試一個特定的方法是否會產生預期的結果,但要做到這一點,我還需要在測試中操作輸入。我是否應該在實際課程中重複代碼
class ToTest {
public String produceResponse(String input) {
// ....
encryptedIds = encryptIds(input)
output = doStuff(input, encryptedIds)
}
public encryptIds(input) {
....
}
}
在我的測試中,我需要檢查produceResponse實際上是否產生預期的響應。 爲了做到這一點,我必須加密輸入中的ID。
我的問題是:我應該在測試中重寫encryptIds(這樣我就可以有更多的控制器)或者我應該從類本身調用encryptIds。
有沒有更好的方法來解決這個問題?我不喜歡我的測試,我知道特定流程會發生什麼。
如果encryptIds不是API的一部分,該怎麼辦? – user844541
增加了更多描述 – Crazyjavahacking