Skip to content

テスト

以下のようなadd.aisファイルについて、 add関数が正常に機能するかをテストすることを考えます。

aiscript
@add(a: num, b: num): num {
    a + b
}

aisenv.config.jsの内容を以下のように書き換えます。

js
/** @type {import('aisenv').Config} */
export default ({
    test: {
        include: ['*.test.ais'],
    }
});

テストファイルとして以下の内容をadd.test.aisという名前で保存します。

aiscript
### imports [
    './add.ais'
]

@assert_eq(left: any, right: any): void {
    if (left != right) {
        Core:abort(`assertion failed: left = {left}, right = {right}`)
    }
}

#[test]
@addTest() {
    assert_eq(2 + 3, 5)
}

以下のコマンドでテストを実行できます。

sh
npx aisenv test

"should_abort"

関数の実行が途中で強制終了することを期待するなら、 以下のようにtest属性に"should_abort"を指定します。

aiscript
### imports [
    './add.ais'
]

#[test "should_abort"]
@test() {
  add(1)
}