【发布时间】:2015-06-25 09:42:19
【问题描述】:
我必须为 RequireJS 应用程序编写集成测试。我以前从未这样做过,我在 Internet 上找不到任何示例。为什么关于该主题的信息很少?我阅读了很多关于什么是集成测试的描述,但我仍然不确定如何编写它们。我的应用程序没有服务器或数据库代码,这意味着我只能测试不同模块的协作,对吧?我已经尝试用 Jasmine 编写一些测试,例如当在 Module1 中调用 render() 时,Module2 被实例化并且 Module2.render() 也被调用。 Module2.render() 应该添加一些 html 代码。于是我使用了jasmine-jquery.js 来测试是否添加了html代码:expect($('#test1')).toExist();
这是一个集成测试吗?还是更愿意将其添加到单元测试中?
我也不确定是否可以使用 Nightwatch.js 编写集成测试,这是否合理。我现在正在用这个框架编写系统测试,但它似乎有点像集成测试,因为我正在测试组件是否一起工作。 Nightwatch 测试何时称为集成测试,何时称为系统测试?
【问题讨论】:
-
根据我编写单元和集成测试的经验,并在很多场合看到它们都感到困惑。我喜欢使用以下规则:单元测试测试单个功能,例如公共功能; 集成测试测试应该以定义的方式一起交互的多个功能。无论测试的定义如何,重要的是要控制输入并了解两种情况下的预期输出。
-
@Jeremy*s 的定义非常好,根据国际软件测试资格委员会 (ISTQ) 教学大纲:istqb.org/downloads/syllabi/foundation-level-syllabus.html
标签: javascript unit-testing testing integration-testing jasmine-jquery