Skip to content

Commit bb450a1

Browse files
committed
feat: add ui5 middleware code coverage
Allows client side code coverage generation for ES6+ code powered by https://github.com/SAP/ui5-tooling-extensions/tree/main/packages/middleware-code-coverage. Projects generated for UI5 versions before 1.113.0 will stick to old "Blanket.js" based code coverage determination limited to ES5 language specification. JIRA: CPOUI5FOUNDATION-721
1 parent 97d0688 commit bb450a1

File tree

4 files changed

+12
-0
lines changed

4 files changed

+12
-0
lines changed

generators/app/index.js

+1
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,7 @@ export default class extends Generator {
189189
devDependencies: {
190190
shx: "^0.3.4",
191191
"@ui5/cli": "^3",
192+
"@ui5/middleware-code-coverage": "latest",
192193
"ui5-middleware-livereload": "latest",
193194
karma: "^6.4.2",
194195
"karma-chrome-launcher": "^3.2.0",

generators/newwebapp/templates/uimodule/ui5.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ server:
1818
customMiddleware:
1919
- name: ui5-middleware-livereload
2020
afterMiddleware: compression
21+
- name: "@ui5/middleware-code-coverage"
22+
afterMiddleware: compression
2123
<% if(platform !== 'Static webserver' && platform !== 'SAP NetWeaver'){ -%>
2224
- name: ui5-middleware-cfdestination
2325
afterMiddleware: compression

generators/qunit/index.js

+8
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,14 @@ export default class extends Generator {
152152
this.config.set("qunittests", tests);
153153
this.options.oneTimeConfig.qunittests = tests;
154154

155+
// set qunit coverage file
156+
if (semver.gte(props.frameworkVersion, "1.113.0")) {
157+
this.config.set("qunitCoverageFile", "qunit-coverage-istanbul.js");
158+
} else {
159+
this.config.set("qunitCoverageFile", "qunit-coverage.js");
160+
}
161+
this.options.oneTimeConfig.qunitCoverageFile = this.config.get("qunitCoverageFile");
162+
155163
const sModule =
156164
(this.options.oneTimeConfig.modulename ? this.options.oneTimeConfig.modulename + "/" : "") + "webapp/";
157165

generators/qunit/templates/test/unit/unitTests.qunit.html

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
<script src="<%=ui5libsprefix%>resources/sap/ui/thirdparty/qunit-2.js"></script>
2020
<script src="<%=ui5libsprefix%>resources/sap/ui/qunit/qunit-junit.js"></script>
21+
<script src="<%=ui5libsprefix%>resources/sap/ui/qunit/<%=qunitCoverageFile%>"></script>
2122

2223
<script src="unitTests.qunit.js"></script>
2324
</head>

0 commit comments

Comments
 (0)