Edited at

nimのunittestを使ってテストコードを書く

More than 1 year has passed since last update.


概要


  • nimbleで作成したパッケージのテストコードを書く

  • nimは標準でunittestモジュールがあるのでそれを使用する


環境


  • nim 0.17.2

  • nimble 0.8.8


nimbleプロジェクトを作成


  • プロジェクトを作成してインポートできるようにしておく、手順はここ

  • 作ったのはこんな感じ

% tree

.
├── example.nim
└── example.nimble


example.nimble

# Package

version = "0.1.0"
author = "honeytrap15"
description = "example nimble package"
license = "MIT"

# Dependencies

requires "nim >= 0.17.2"



example.nim

proc sum(a: int; b: int): int = 

result = a + b

export sum



テストコードを書く



  • testsディレクトリを作成する


  • tests以下にテストコードを配置


  • nimble testを実行


tests/tester.nim

import example

import unittest

test "test case 1":
let r = sum(1, 2)
check(r == 1 + 2)

test "test case 2":
let r = sum(-1, 2)
check(r == 2)


% tree

.
├── example.nim
├── example.nimble
└── tests
└── tester.nim

% nimble test

...
[OK] test case 1
tester.nim(11, 10): Check failed: r == 2
r was 1
[FAILED] test case 2
...


  • こんな感じで実行される