【问题标题】:Python Unit Test [closed]Python单元测试[关闭]
【发布时间】:2013-07-03 21:24:14
【问题描述】:

我是单元测试的新手。我想知道您将如何使用 python 单元测试对下面的代码进行单元测试。您可以使用任何类型的框架进行测试,但请务必说明原因并详细说明。真的很感谢大家的帮助。

顺便说一句,您可以对代码进行更改,只要它现在正在做的事情。反正都是废话: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

【问题讨论】:

  • 仅供参考:first == "a" and "e" and "i" and "o" and "u" 相当于 first == "a" and True and True and True and True 相当于 first == "a"

标签: python unit-testing integration-testing qa pycharm


【解决方案1】:

我认为这不是单元测试的好候选。

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)

您现在可以使用不同的输入来测试这个rearrange() 函数。

【讨论】:

  • 谢谢伙计。真的很感激。
  • 我更愿意接受并投票支持您的感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-08
  • 1970-01-01
  • 2010-09-08
  • 2011-11-07
  • 2010-12-21
  • 2017-12-16
相关资源
最近更新 更多