2
我试图在使用tsUnit的Typescript中设置一个单元测试。我创建了一个非常简单的测试,以确保我正确地做事。但是,每次我单击测试资源管理器中的全部运行时,它都不会显示任何结果!看起来好像Visual Studios 2013在我的解决方案中找不到任何有效的测试。以下是我在代码:我的单元测试没有显示在测试资源管理器中
/// <reference path="../../UnitTesting/UnitTesting/Scripts/tsUnit/tsUnit.ts" />
module CalculationsTests {
export class SimpleMathTests extends tsUnit.TestClass {
addTwoNumbersWith1And2Expect3() {
var result = 1 + 2;
this.areIdentical(3, result);
}
addTwoNumbersWith3And2Expect5() {
var result = 3 + 6;
this.areIdentical(4, result); // Deliberate error
}
}
}
window.onload =() => {
// new instance of tsUnit - pass in modules that contain test classes
var test = new tsUnit.Test(CalculationsTests);
// Handle the results yourself...
var result = test.run();
var outcome = (result.errors.length === 0) ? 'Test Passed' : 'Test Failed';
alert(JSON.stringify(outcome));
};
在我的主HTML文件,我有:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>TypeScript HTML App</title>
<link rel="stylesheet" href="app.css" type="text/css" />
<script src="/Scripts/tsUnit/tsUnit.js"></script>
<script src="app.js"></script>
</head>
<body>
<h1>TypeScript HTML App</h1>
<h2>TS Unit Test</h2>
<div id="content"></div>
</body>
</html>
这里的结果:
谁能帮我找到了我需要做些什么才能正确设置单元测试?
您忘记提及您正在使用ES6功能。这可能会导致测试被抛弃。我不使用Visual Studio for Javascript,但是**可能是发生了什么的可能性。尝试将其转换为ES5,使用常规对象而不是模块或类。 –
试用Jasmine单元测试框架,在VS –
中有几个很好的集成工具存在于这个测试框架中@Oleg Dokuka谢谢我会试试 – mmangual83