Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何在AngularJS中组织单元测试和e2e测试?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要为我的 JavaScript页面应用程序组织单元测试和端到端测试.我正在使用AngularJS Protractor / Cucumber进行e2e测试,使用Chai进行单元测试.

我在两个不同的文件夹(单元和e2e文件夹)中进行了e2e和单元测试,我目前没有利用page object设计模式.这些文件是非结构化的,不共享很多代码,所以我多次重复自己.

@R_674_10113@这种方法不会扩大规模

是否有最佳实践以这样的方式重新组织测试我编写最少量的代码,保持测试代码DRY?

解决方法

首先,你绝对应该切换到使用Page Object模式并将页面对象保存在一个单独的目录中 – 我认为建议调用目录po.

以下是您的示例,我们目前拥有的项目结构:

$cd e2e
$tree -L 1
.
├── config
├── db
├── Helpers
├── mocks
├── po
└── specs

config是我们保留量角器配置的特殊目录 – 可能有多个配置 – 例如,用于本地测试和测试,例如Br​​owserStack.

帮助程序基本上是我们的“libs”/“utils”目录.我们保留定制的茉莉花匹配器,带辅助功能的附加“辅助”模块.此外,我们有localStorage和sessionStorage模块,它们是window.localStorage和window.sessionStorage对象的方便包装器.

mocks是我们保留protractor-http-mock mocks的目录.

po是定义页面对象的目录.每个页面对象都在一个单独的文件

specs是我们所有规范都存在的地方 – 它们在逻辑上被组织成子目录.

一些助手库是made globally available via global,例如:

onPrepare: function () {
     global.Helpers = require("../Helpers/Helpers.js");
     // ...
},

另外,为了使助手和po导入更方便并避免遍历树中的目录并更好地处理嵌套,我们已经切换到使用@michael Radionov建议的requirePO和requireHelper辅助函数,请参阅:

> Using require with relative paths

我也非常喜欢@finspin提出的想法,即从每个Page Object中创建一个节点包.

大佬总结

以上是大佬教程为你收集整理的如何在AngularJS中组织单元测试和e2e测试?全部内容,希望文章能够帮你解决如何在AngularJS中组织单元测试和e2e测试?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。