LoginSignup
3
4

More than 5 years have passed since last update.

Angularで実行するテストを選択する方法

Last updated at Posted at 2017-06-12

やぬてつです。

この記事ではTypeScript/Angularでjasmineの利用をターゲットとしています。

みなさんは開発が進んできて、だんだんテストの数も時間も増えてきていると思います。
「もう少し早くテストできないかなー」とか「この辺のテストだけでいいんだけどなー」って思うこと有りますよね。

そこで、jasmineのドキュメントを調べたらテストを選択できるオプション?のような物がありました。
※正確にはオプションではなくてそれぞれメソッドのようです。

任意のテストを除外してテストを実行する方法

xdescribe 及び xit でテストを記述する

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 及び fit でテストを記述する

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を利用して効率的に開発を行っていきましょう!

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4