如何使用SAP UI5应用程序设置单元测试(qUnit)?

时间:2016-10-30 18:55:07

标签: unit-testing sap qunit sapui5

我试图在我的SAPUI5应用程序中实现单元测试。我了解如何执行单元测试 - 但我不了解如何在SAP UI5应用程序中配置测试。我认为问题在于我是如何尝试加载我想要测试的控制器的。我有一个基本的树结构:

enter image description here

我不熟悉如何设置测试。当我插入以下控制器时,我收到一个脚本错误:

test.js

sap.ui.require(["../Controller/Main.controller.js"],

 function(MyController){
     //Quint code
     test("hello test", function(assert) {
      assert.ok(1 == "1", "Passed!");
    });
});

initialTest.html

    <!DOCTYPE html>
    <html>
    <head>
      <meta charset="utf-8">
      <title>QUnit Example</title>
      <link rel="stylesheet" href="//code.jquery.com/qunit/qunit-1.15.0.css">
          <script id="sap-ui-bootstrap"
                    src="https://sapui5.hana.ondemand.com/resources/sap-ui-core.js">
          </script>    
          <script src="//code.jquery.com/qunit/qunit-1.15.0.js"></script>
          <script src="tests.js"></script>
          <script src="/Controller/Main.controller.js"></script>          
          <script>
          </script>
    </head>
    <body>
      <div id="qunit"></div>
      <div id="qunit-fixture"></div>
    </body>
    </html>

错误的屏幕截图

enter image description here  enter image description here

如何正确加载我想测试的controller.js?

1 个答案:

答案 0 :(得分:-1)

我最近不得不为SAPUI5团队正在开发的项目设置单元和OData集成测试。之前没有人这样做过,或者知道怎么做。这就是我设法让单元测试运行的方法:

首先,我在SAP WebIDE中设置了一个演示项目,并在其中运行了单元测试。一旦我理解了它是如何工作的,以及文件结构是如何组合在一起的,我就将逻辑移植到我首选IDE中的本地存储项目中并插入,直到我让测试工作。

如果您在理解这些测试的工作原理或者无法访问WebIDE方面遇到困难,那么SAPUI5 Developer Guide上还有一个非常好的示例项目,其中详细说明了如何将单元测试放在一起对于SAPUI5项目及其运行方式。了解.html文件与您的文件有何不同?你需要为初学者调用相关的库:

foreach ($array as $key => $value) {
  if (in_array($key, $expand_keys)) {
    $array[$key] = explode(',', $value);
  }
}

需要注意的事项:

  • 检查.html文件中指定的资源路径 是对的。
  • 检查资源根名称空间以获取正确的值。