Python单元测试

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)

duf*_*ymo 7

我不认为这是单元测试的好选择.

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()使用不同的输入测试此功能.