新手在這里,提前抱歉!我嘗試在有關單元測驗/assertEqual 函式的其他堆疊帖子中尋找答案,但沒有找到我正在尋找的答案。
在函式中有一個輸入的情況下,您可以按如下方式設定單元測驗:
def test_some_function(self):
inputted = 2
some_function(inputted)
output_expected = 3 #made up an expected output
self.assertEqual(output_expected, inputted)
但是,self.assertEqual當您的函式需要兩個輸入時,您將如何使用?
我嘗試了以下方法,但這遇到了位置問題self:
def test_some_function(self):
inputted_one = 1
inputted_two = 2
some_function(inputted_one, inputted_two)
output_expected = 3
self.assertEqual(output_expected, inputted_one, inputted_two)
我想避免為函式輸出設定一個值,比如:
def test_some_function(self):
inputted_one = 1
inputted_two = 2
set_value = some_function(inputted_one, inputted_two)
output_expected = 3
self.assertEqual(output_expected, set_value)
編輯我也想避免類似的事情
self.assertEqual(output_expected, some_function(inputted_one, inputted_two))因為self.assertEqual應該已經將函式應用于輸入。
即,一個輸入就沒有必要做 self.assertEqual(output_expected, some_function(inputted_one)
uj5u.com熱心網友回復:
您可以將函式輸出放在斷言中,如下所示:
def test_some_function(self):
inputted_one = 1
inputted_two = 2
output_expected = 3
self.assertEqual(output_expected,some_function(inputted_one, inputted_two))
uj5u.com熱心網友回復:
這里:
def test_some_function(self):
inputted_one = 1
inputted_two = 2
some_function(inputted_one, inputted_two)
output_expected = 3
self.assertEqual(output_expected, inputted_one, inputted_two)
您正在比較和輸出 2 個輸入(inputted_one、inputted_two),這有點奇怪。
如果您想將函式輸出與預期輸出進行比較,您可以撰寫:
def test_some_function(self):
inputted_one = 1
inputted_two = 2
function_output = some_function(inputted_one, inputted_two)
output_expected = 3
self.assertEqual(output_expected, function_output)
或更短的版本
def test_some_function(self):
self.assertEqual(3, some_function(1, 2))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/359939.html
上一篇:Java中洗掉方法的單元測驗?
