sapui5 OPA5测试中的代码覆盖率

时间:2016-06-13 05:51:46

标签: javascript testing qunit sapui5

我可以看到在SAPUI5 Qunit测试中有复选框选项来检查代码覆盖率(通过复选框或带有URL参数?coverage) 但是在sapui5中的OPA5测试中没有代码覆盖的复选框,如果我添加了URL参数?coverage,则测试运行时没有代码覆盖。 sapui5中的OPA5测试不支持代码覆盖?

谢谢!

2 个答案:

答案 0 :(得分:2)

最近Opa5引入了基于组件的测试,从1.34开始猜测,调用基于组件的测试的代码看起来像

 iStartMyUIComponent({
   componentConfig: {
       name: <foo.my.component.path>
                },
      hash: ""
 });

在基于组件的方法之前,我们只能选择通过IFrame运行Opa5测试,调用基于帧的测试的代码看起来像

iStartMyApp: function (oOptions) {
    var sUrlParameters;
    oOptions = oOptions || { delay: 0 };

    sUrlParameters = "serverDelay=" + oOptions.delay;

    this.iStartMyAppInAFrame(getFrameUrl(oOptions.hash, sUrlParameters));
},

许多较旧的示例使用框架方法,默认情况下不包括覆盖范围,以使用Frame方法获得测试覆盖率,您将使用类似OpenUi5 Karma和伊斯坦布尔的方法。

使用基于组件的OpaTests,我们现在可以通过捆绑的Blanket.js模块获得覆盖

请参阅Opa5 with Test Coverage获取示例,在此示例中,您将注意到coverage选项,复选框已选中并且还有一个其他URL参数,请在页面底部查看lcov输出。

要获得Qunit跑步者的覆盖功能,您需要包含以下模块

jQuery.sap.require("sap.ui.qunit.qunit-coverage");

HTH

JSP

答案 1 :(得分:1)

在opaTest.qunit.html中添加以下代码行以及其他jQuery.sap.require文件 -

jQuery.sap.require("sap.ui.qunit.qunit-coverage");  // used for code coverage

但请确保在qunit测试文件之后而不是之前添加它。