UIU5를 통해 qUnit을 처음 사용했습니다.SAPUI5 Core API가 포함 된 함수에 대한 단위 테스트를 작성하는 방법?
나는 그것을 하나 개의 함수를 formatter.js
formatDate: function(sTimeStamp) {
if (sTimeStamp) {
var iTimeStamp = Number(sTimeStamp.match(/\d/g).join("")),
oDateTimeFormat = DateFormat.getDateTimeInstance();
return oDateTimeFormat.format(new Date(iTimeStamp));
}
return sTimeStamp;
},
단위 테스트를 테스트하려면 : 나는 언어 설정을 변경하면
function formatDateTestCase(assert, sValue, fExpectedNumber) {
var fDate = formatter.formatDate(sValue);
assert.strictEqual(fDate, fExpectedNumber, "Format Date was correct");
}
QUnit.test("Should return valid date", function (assert) {
formatDateTestCase.call(this, assert, "/Date(1510026665790)/", "Nov 7, 2017, 11:51:05 AM");
});
물론,이 테스트 케이스가 실패합니다. 그것을 향상시키는 방법?
여기서 주된 문제는 formatDate
이 부작용이있는 기능이라고 생각합니다. 이 기능 자체를 개선해야합니까? formatDate
에 로케일을 추가 하시겠습니까?
아니면 테스트 케이스에 DateFormat
을 사용해야합니까? 내 테스트를 무의미하게 만들 것입니다.
왜 UI5 핵심 기능에 대한 테스트 케이스를 작성 하시겠습니까? 귀하의 테스트는 SAP의 코드가 올바르게 작동한다는 것을 증명할뿐입니다. – Marc
@Marc, 1. 테스트 커버리지. 2. 여기에 간단한 예를 들어봤을 때,'DateFormat'을 포함하고있는 다른 복잡한 논리가있을 수 있습니다. – Tina