2 使用unitest 模块扩展功能测试

准备做一个 待办事项清单网站,来演示 Web 开发过程中的所有主要步骤。以及如何在各个步骤中运用TDD理念。

”功能测试“: 从用户的角度查看应用是如何运作的。 从某种程度上可以作为应用的说明书。

作用是 跟踪"用户故事,模拟用户使用某个功能的过程,以及应用应该如何响应用户的操作。

编写用户故事,可以先写注释,勾勒出用户故事。把测试代码和代码注释结合起来使用。非程序员也能看懂。

理念 ” 最简单可用的应用" :只要能让用户输入一些待办事项,并且用户下次访问应用时,这些事项还在即可。

先在功能测试文件中,编写用户故事。把测试提炼成一个连贯的故事,确保我们始终从用户的角度测试。

1. 功能测试中的AssertionError,最好使用Assert的第二个关键字,指出失败的具体简单消息。 unittest模块中内置的assert函数也已经提供了此功能

2. Firefox窗口在测试中打开,但在测试结束后,没有关闭。引用标准库中的 unittest模块。它提供了现成的解决方法

unittest:

测试组织成类的形式,继承自:unittest.TestCase

名字以“test_"开头的都是测试方法,由测试运行程序运行

setUp 和 tearDown 是特殊的方法。

unittest 提供了很多这种用于编写测试断言的辅助函数: self.assertIn, self.assertEqual, self.assertTrue,self.assertFalse. 可以参考unittest的测试文档

不管怎样 self.fail都会失败。生成指定的错误

if __name__=='__main__' python 使用这个语句检测自己是否在命令行中运行。调用 unittest.main()启动unittest的测试运行程序。它会在文件中自动查找测试类和方法。

隐式等待:self.browser.implicitly_wait(3)。 告诉selenimu需要等待几秒钟。简单的应用中可以用。但不要依赖它。

git 提交

TDD 概念:

用户故事

预期失败

相关推荐