首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在python中自动化测试?

如何在python中自动化测试?
EN

Stack Overflow用户
提问于 2017-09-15 08:46:38
回答 1查看 87关注 0票数 1

我已经使用python (在学术界)工作了5年,但是直到上周我才写了一个测试。两周前,我申请了一份工作,雇主要求我做一项python任务,其中一部分应该是单元测试。假设我的代码如下所示(让我们称其为"add_numbers.py"):

代码语言:javascript
复制
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('x', type=float)
parser.add_argument('y', type=float)

class add_numbers ():
    def __init__ (self, x, y):
        self.x = x
        self.y = y

    def add(self):
        return self.x+self.y

if __name__ == '__main__':
    args = parser.parse_args()
    an = add_numbers(args.x,args.y)
    print('{} + {} = {}'.format(args.x,args.y,an.add()))

还假设测试脚本如下所示,我们将其命名为"test_add_numbers.py":

代码语言:javascript
复制
import unittest
from add_numbers import add_numbers

class TddAdd(unittest.TestCase):

    def test_add_two_numbers(self):        
        self.assertEqual(3, add_numbers(1,2).add()) 

if __name__ == '__main__':
    unittest.main()

然后作为运行我写给他的代码的说明,您可以像下面这样运行测试

代码语言:javascript
复制
python test_add_numbers.py

要运行主程序,您应该键入

代码语言:javascript
复制
python add_numbers 2 3

然而,他在2-3天后回来找我,在说完他后悔拒绝我之后,他告诉我,我应该“自动化”测试。他是什么意思?那么,我是否应该将测试集成到主文件中,以便在运行

代码语言:javascript
复制
python add_numbers 2 3

它首先“自动”运行测试,然后运行主程序本身。

这里的“自动化”测试是什么意思,以及如何让上面的测试“自动化”?

EN

回答 1

Stack Overflow用户

发布于 2017-09-15 08:57:07

这似乎是一个奇怪的区别。我想请面试官澄清一下。这不会改变他们的招聘决定,但这对你来说是完全合理的。

对我来说,自动化测试类似于运行nosetests,但这与单元测试没有太大区别,只是功能更多一点而已。奇怪的是,python中的大多数(或许多)测试包都是unittest的扩展。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46230111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档