如何在SAP UI5中设置单元测试(qUnit)?

时间:2016-10-31 19:31:12

标签: unit-testing qunit sapui5

我正在尝试为我的简单SAP UI5应用程序添加单元测试(使用qUnit)。根据我的理解,您需要的主要文件包括:

  • initialTest.html(测试是自举的)
  • qunit.js(框架库)
  • qunit.css(框架样式表)
  • test.js(将编写单元测试)
  • 目标代码(包含要测试的代码的源文件)

我遇到的问题是加载所需的目标代码进行测试。

我有以下基本文件结构

enter image description here

这是我需要帮助的地方,如何在我的tests.js中正确引用代码文件? (即:我想测试位于Main.controller.js中的代码)

tests.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>

1 个答案:

答案 0 :(得分:0)

该问题并未传达正确的问题,因为我看到您在尝试引用应用程序的控制器文件而不是qUnit测试时遇到问题。

这是您应如何引用文件

sap.ui.require(
	[
		"sap/ui/demo/wt/controller/Master",         <--- path to your Controller file
	],
	function (MasterController) {

    //refer methods of controller file
    //MasterController.methodName
}

您可以在sap.ui上了解更多信息。请在此处查询:Open JDK source code

但是,如果您正在查看有关qUnits的更多详细信息,则可以参考以下文档:

让我知道这是否有帮助!