javascript - 获取已执行规范文件的文件名

标签 javascript angularjs jasmine protractor jasmine-spec-reporter

如何获取当前执行规范的文件名? 例如: 我运行:protractor conf.js --specs ./spec/first_spec.js,./spec/second_spec.js

所以我想检索数组 ['first_spec','second_spec'],因为我想在 report.html 中显示它。这是一个很好的思考方式,还是在最近的运行中有一个内置的文件名函数?我是 Protractor 和 Angular 新手,我发现只有一种方法可以提取单个 describe ,这对我没有帮助。我在 protractor-angular-screenshot-reporter 上写了这个。

最佳答案

这是一种方法。读取从 CLI 参数传递的测试用例数组,并根据您的方便使用它

onPrepare: function() {
var testCaseArr
    for (i = 0; i < process.argv.length; i++) {
        argument = process.argv[i];
        // if "specs" are found we know that the immediate following object is the array of test scenarios
        if (argument.indexOf('specs')>0) {
            specIndex = i + 1;
            testCaseArr = process.argv[i+1];
            break;
        }
    }
    // This will output - ['first_spec','second_spec']
    console.log(testCaseArr)
},

请引用我的blog post了解更多详情。

关于javascript - 获取已执行规范文件的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39656041/

相关文章:

javascript - Bootstrap 和 AngularJS 简单代码

javascript - 无法在 firebase 中构建应用程序

javascript - 堆积条形图的悬停不起作用

javascript - ionic 和 angularjs 时间为空

angularjs - ng-repeat 不在数组更新时更新

unit-testing - Jasmine 路线 spy - 未定义不是一个对象(评估 'navigate.calls.mostRecent().args' )

angularjs - 使用 Jasmine 2.0 在异步测试中获取 "$digest already in progress"

angularjs-directive - 如何捕获 $compile 或 $digest 错误? (带有 templateUrl 的 AngularJS 指令)

javascript - 如何在 svg 上粘贴 svg

javascript - Angular.js 路由不工作