Ash*_*Ash 0 python integration-testing unit-testing qa pycharm
我是单元测试的新手.我想知道如何使用python单元测试对下面的代码进行单元测试.您可以使用任何类型的框架进行测试,但请注意提及原因和详细信息.真的很感谢大家的帮助.
顺便说一句,你可以对代码进行更改,只要它现在正在做的事情.无论如何它是BS:P
pyg = 'ay'
original = raw_input('Enter a word:')
word = original.lower()
first = word[0]
if first == "a" and "e" and "i" and "o" and "u":
new_word = word + pyg
print new_word
else:
consonant_fix = word[1:]
new_word = consonant_fix + word[0] + pyg
print new_word
Run Code Online (Sandbox Code Playgroud)
我不认为这是单元测试的好选择.
I/O应该不重要.
最好将其重构为一个接受字符串的函数,对其进行操作并返回一个新字符串.然后,您可以使用特定输入编写单元测试以检查所需的行为.
如上所述,您的代码不可测试.
这是我如何重写它:
def rearrange(original, pyg):
word = original.lower()
first = word[0]
if first == "a" and "e" and "i" and "o" and "u":
new_word = word + pyg
else:
consonant_fix = word[1:]
new_word = consonant_fix + word[0] + pyg
return new_word
if __name__ == '__main__':
pyg = 'ay'
original = raw_input('Enter a word:')
print rearrange(original, pyg)
Run Code Online (Sandbox Code Playgroud)
您现在可以rearrange()使用不同的输入测试此功能.