ReferenceError:在Kotlin Javascript中的QUnitAsserter.assertTrue中未定义ok

时间:2017-03-01 17:16:33

标签: javascript unit-testing kotlin

Kotlin版本1.0.x-1.1.0支持使用QUnit开箱即用的单元测试,但是当我加载测试时它会抛出此异常:

ReferenceError: ok is not defined
    at QUnitAsserter.assertTrue_4mavae$ (file:///D:/neoranga/Mis%20documentos/GitHub/FibonacciCounter/app/build/classes/test/lib/kotlin-test-js.js:50:5)
    at assertTrue (file:///D:/neoranga/Mis%20documentos/GitHub/FibonacciCounter/app/build/classes/test/lib/kotlin-test-js.js:93:27)
    at QUnitAsserter.assertTrue_o10pc4$ (file:///D:/neoranga/Mis%20documentos/GitHub/FibonacciCounter/app/build/classes/test/lib/kotlin-test-js.js:47:5)
    at QUnitAsserter.Asserter.assertEquals_lzc6tz$ (file:///D:/neoranga/Mis%20documentos/GitHub/FibonacciCounter/app/build/classes/test/lib/kotlin-test-js.js:182:10)
    at assertEquals (file:///D:/neoranga/Mis%20documentos/GitHub/FibonacciCounter/app/build/classes/test/lib/kotlin-test-js.js:108:20)
    at AppTest.myFirstTest (file:///D:/neoranga/Mis%20documentos/GitHub/FibonacciCounter/app/build/classes/test/app_test.js:17:5)
    at Object.<anonymous> (file:///D:/neoranga/Mis%20documentos/GitHub/FibonacciCounter/app/build/classes/test/app_test.js:29:21)

这是我的测试类:

import org.junit.Test
import kotlin.test.assertEquals

class AppTest {

    @Test fun myFirstTest() {
        assertEquals(1, 1, "Test in test folder works")
    }
}

这是加载测试的html代码:

<!doctype html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>Fibonacci Counter</title>
        <link rel="stylesheet" href="css/app.css">
        <meta name="viewport" content="width=device-width">
        <link rel="stylesheet" href="https://code.jquery.com/qunit/qunit-2.1.1.css">
    </head>
    <body>
        <div id="qunit"></div>
        <div id="qunit-fixture"></div>
        <footer id="info">
            <p>Placeholder</p>
        </footer>
        <span id="text"></span>
        <script src="external_libs/jquery-3.1.1.min.js"></script>
        <script src="https://code.jquery.com/qunit/qunit-2.1.1.js"></script>
        <script src="lib/kotlin.js"></script>
        <script src="lib/kotlin-test-js.js"></script>
        <script src="app_main.js"></script>
        <script src="app_test.js"></script>
    </body>
</html>

1 个答案:

答案 0 :(得分:1)

问题在于版本的QUnit 2.1.1 ,使用版本1.23.1 ,问题解决了。

这是使用修复程序加载测试的html代码:

<!doctype html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>Fibonacci Counter</title>
        <link rel="stylesheet" href="css/app.css">
        <meta name="viewport" content="width=device-width">
        <link rel="stylesheet" href="https://code.jquery.com/qunit/qunit-1.23.1.css">
    </head>
    <body>
        <div id="qunit"></div>
        <div id="qunit-fixture"></div>
        <footer id="info">
            <p>Placeholder</p>
        </footer>
        <span id="text"></span>
        <script src="external_libs/jquery-3.1.1.min.js"></script>
        <script src="https://code.jquery.com/qunit/qunit-1.23.1.js"></script>
        <script src="lib/kotlin.js"></script>
        <script src="lib/kotlin-test-js.js"></script>
        <script src="app_main.js"></script>
        <script src="app_test.js"></script>
    </body>
</html>