やぬてつです。
この記事ではTypeScript/Angularでjasmineの利用をターゲットとしています。
みなさんは開発が進んできて、だんだんテストの数も時間も増えてきていると思います。
「もう少し早くテストできないかなー」とか「この辺のテストだけでいいんだけどなー」って思うこと有りますよね。
そこで、jasmineのドキュメントを調べたらテストを選択できるオプション?のような物がありました。
※正確にはオプションではなくてそれぞれメソッドのようです。
任意のテストを除外してテストを実行する方法
xdescribe('HogeComponent', () => {
it('is test 1', () => {
expect(true).toBeTruthy();
});
it('is test 2', () => {
expect(true).toBeTruthy();
});
it('is test 3', () => {
expect(true).toBeTruthy();
});
});
describe('PiyoComponent', () => {
...
});
HogeComponent以下のテストを無視して、他のテストを実施します。
describe('HogeComponent', () => {
it('is test 1', () => {
expect(true).toBeTruthy();
});
xit('is test 2', () => {
expect(true).toBeTruthy();
});
it('is test 3', () => {
expect(true).toBeTruthy();
});
});
describe('PiyoComponent', () => {
...
});
HogeComponent is test 2だけを無視して、他のテストを実施します。
任意のテストを実行する方法
fdescribe('HogeComponent', () => {
it('is test 1', () => {
expect(true).toBeTruthy();
});
it('is test 2', () => {
expect(true).toBeTruthy();
});
it('is test 3', () => {
expect(true).toBeTruthy();
});
});
describe('PiyoComponent', () => {
...
});
HogeComponent以下のテストだけをテストします。
describe('HogeComponent', () => {
it('is test 1', () => {
expect(true).toBeTruthy();
});
fit('is test 2', () => {
expect(true).toBeTruthy();
});
it('is test 3', () => {
expect(true).toBeTruthy();
});
});
describe('PiyoComponent', () => {
...
});
HogeComponent is test 2だけをテストします。
考え方を変えるとこんな感じ
-
describeに
x
をつけるとxdescribe
以外のdescribeを実行 -
describeに
f
をつけるとfdescribe
のみを実行 -
it に
x
をつけるとそのxit
以外のitを実行 -
it に
f
をつけるとそのit
のみ実行
まとめ
x
とかf
を利用して効率的に開発を行っていきましょう!