私はPythonの単体テストに挑んでおり、次の問題(source)を解決する方法を見つけることに問題があります。Pythonユニットテストの方法
is_primeとprint_next_primeの2つの機能があります。 testprint_next_primeにしたければ、as_primeが であり、asprint_next_primeが正しいことを確認する必要があります。この場合、 関数print_next_primeは1単位であり、is_primeは別の単位です。 単体テストは一度に1つのユニットしかテストしないので、print_next_primeを正確にテストする方法については、 を慎重に考える必要があります。
def is_prime(number):
"""Return True if *number* is prime."""
for element in range(number):
if number % element == 0:
return False
return True
def print_next_prime(number):
"""Print the closest prime number larger than *number*."""
index = number
while True:
index += 1
if is_prime(index):
print(index)
どのようにこれらのメソッドの両方のためのユニットテストを書くのでしょうか?残念ながら、ソースはこの質問に答えることはありません。
'is_prime'関数は、ゼロで割ります。 – ForceBru
はい、それは本当です。これは単体テストの設定例です。それはその部分で失敗することを意味します。 – Benjh
ソースは単体テストについて説明しました。最後までis_prime関数が正しく実装されていることを確認してください。 – manvi77