This commit is contained in:
Kamil Szostak 2017-07-14 10:56:21 -07:00
Родитель af36ff6671
Коммит 7dd2f0b57d
5 изменённых файлов: 4393 добавлений и 19 удалений

Просмотреть файл

@ -18,7 +18,7 @@ class SplitTestTests extends TestClass {
name: "SplitTestTests: ",
test: () => {
var sut = new Microsoft.ApplicationInsights.SplitTest();
var guids = getGuids(10000);
var guids = getGuids(10000);
var enabledPercent = 20;
var acceptedErrorPercent = 2;
@ -26,19 +26,20 @@ class SplitTestTests extends TestClass {
var totalCount = guids.length;
var enabledCount = 0;
guids.forEach((guid) => {
console.log(guid);
if (sut.isEnabled(guid, enabledPercent))
++enabledCount;
});
// Assert.ok(false);
// Validate
var actualEnabledPercent = (enabledCount / totalCount) * 100;
Assert.ok(
(actualEnabledPercent < enabledPercent + acceptedErrorPercent) &&
(actualEnabledPercent > enabledPercent - acceptedErrorPercent),
"Enabled percent does not fall into expected range (" + enabledPercent + " +- " + acceptedErrorPercent + "): " + actualEnabledPercent);
}
}
});
}

4334
JavaScript/JavaScriptSDK.Tests/External/qunit-1.23.1.js поставляемый Normal file

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1,32 +1,41 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="Cache-control" content="no-Cache" />
<title>Tests for Application Insights JavaScript API</title>
<link rel="stylesheet" href="http://code.jquery.com/qunit/qunit-1.18.0.css">
<script src="http://code.jquery.com/qunit/qunit-1.18.0.js"></script>
<script src="http://sinonjs.org/releases/sinon-1.17.2.js"></script>
<script type="text/javascript">
window.AIResults = [];
QUnit.testDone(function (result) {
window.AIResults.push(result);
});
<link rel="stylesheet" href="https://code.jquery.com/qunit/qunit-1.23.1.css">
<!--<script src="https://code.jquery.com/qunit/qunit-1.23.1.js"></script>-->
<script>
QUnit.config.autostart = false;
</script>
<script src="../external/blanket-1.2.2.js" data-cover-reporter="../external/blanket-reporter.js" data-cover-flags="debug"></script>
<script src="http://sinonjs.org/releases/sinon-1.17.2.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/require.js/2.2.0/require.js"></script>
<script src="ai.tests.js"></script>
<script>
require.config({
baseUrl: "../../"
paths: {
qunit: "../External/qunit-1.23.1",
bridge: "../../../node_modules/grunt-contrib-qunit/phantomjs/bridge"
}
});
require(
["qunit", "ai.tests"],
function (QUnit, tests) {
QUnit.start();
}
);
QUnit.start();
</script>
</head>
<body>
<div id="qunit"></div>
<div id="qunit-fixture"></div>
<div id="error-message"></div>
</body>
</html>

Просмотреть файл

@ -57,11 +57,39 @@ module.exports = function (grunt) {
sourceMapIn: 'bundle/ai.js.map'
},
}
},
connect: {
server: {
options: {
port: 8000,
base: '.'
}
}
},
qunit: {
all: {
options: {
urls: [
'http://localhost:8000/JavaScript/JavaScriptSDK.Tests/Selenium/Tests.html',
// 'JavaScript/JavaScriptSDK.Tests/Selenium/Tests.html'
],
timeout: 15 * 1000,
console: false,
summaryOnly: true,
}
}
}
});
grunt.event.on('qunit.testStart', function (name) {
grunt.log.ok('Running test: ' + name);
});
grunt.loadNpmTasks("grunt-ts");
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-connect');
grunt.loadNpmTasks('grunt-contrib-qunit');
grunt.registerTask("default", ["ts:default", "uglify"]);
grunt.registerTask("module", ["ts:module"]);
grunt.registerTask("test", ["ts:test", "ts:types"]);
grunt.registerTask("test", ["ts:test", "ts:types", "connect", "qunit"]);
};

Просмотреть файл

@ -24,8 +24,10 @@
},
"homepage": "https://github.com/Microsoft/ApplicationInsights-JS#readme",
"devDependencies": {
"grunt": "^1.0.1",
"grunt-contrib-uglify": "^2.3.0",
"grunt": "1.0.1",
"grunt-contrib-uglify": "2.3.0",
"grunt-contrib-connect": "1.0.2",
"grunt-contrib-qunit": "2.0.0",
"grunt-ts": "^6.0.0-beta.15",
"typescript": "2.4.1"
}