當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript testing.afterEach函數代碼示例

本文整理匯總了TypeScript中@angular/core/testing.afterEach函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript afterEach函數的具體用法?TypeScript afterEach怎麽用?TypeScript afterEach使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了afterEach函數的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: describe

describe('Service: LocalStorage', () => {
  beforeEach(() => {
    addProviders([LocalStorageService]);
    window.localStorage.clear();
  });

  afterEach(() => {
    window.localStorage.clear();
  });

  it('exists',
    inject([LocalStorageService],
      (service: LocalStorageService) => {
        expect(service).toBeTruthy();
      }));

  it('stores items in localStorage',
    inject([LocalStorageService],
      (service: LocalStorageService) => {
        let item = { key: 'value' };
        service.setItem(mockStorageKey, item);

        expect(window.localStorage.getItem(mockStorageKey)).toEqual(item);
      }));

  it('gets items from localStorage',
    inject([LocalStorageService],
      (service: LocalStorageService) => {
        let item = { key: 'value' };
        window.localStorage.setItem(mockStorageKey, JSON.stringify(item));

        expect(service.getItem(mockStorageKey)).toEqual(item);
      }));
});
開發者ID:mzolkiewski,項目名稱:ng2-cli-todos,代碼行數:34,代碼來源:local-storage.service.spec.ts

示例2: describe

  describe('platform-server integration', () => {

    afterEach(() => disposePlatform());

    it('should bootstrap', async(() => {
         var body = writeBody('<app></app>');
         serverBootstrap(MyServerApp).then(() => {
           expect(getDOM().getText(body)).toEqual('Works!');
         });
       }));
  });
開發者ID:alexbecker,項目名稱:angular,代碼行數:11,代碼來源:integration_spec.ts

示例3: describe

  describe('platform-server integration', () => {

    beforeEach(() => disposePlatform());
    afterEach(() => disposePlatform());

    it('should bootstrap', async(() => {
         var body = writeBody('<app></app>');
         serverBootstrap(MyServerApp, [
           BROWSER_APP_PROVIDERS, BROWSER_APP_COMPILER_PROVIDERS
         ]).then(() => { expect(getDOM().getText(body)).toEqual('Works!'); });
       }));
  });
開發者ID:AudreyChao,項目名稱:angular,代碼行數:12,代碼來源:integration_spec.ts

示例4: describe

  describe('title service', () => {
    var initialTitle = getDOM().getTitle();
    var titleService = new Title();

    afterEach(() => { getDOM().setTitle(initialTitle); });

    it('should allow reading initial title',
       () => { expect(titleService.getTitle()).toEqual(initialTitle); });

    it('should set a title on the injected document', () => {
      titleService.setTitle('test title');
      expect(getDOM().getTitle()).toEqual('test title');
      expect(titleService.getTitle()).toEqual('test title');
    });

    it('should reset title to empty string if title not provided', () => {
      titleService.setTitle(null);
      expect(getDOM().getTitle()).toEqual('');
    });

  });
開發者ID:0xJoKe,項目名稱:angular,代碼行數:21,代碼來源:title_spec.ts

示例5: describe

    describe('With DefaultDriverType', function() {
      const TEST_KEY = `${CUSTOM_NAMESPACE}-${Math.random() * 1000}`

      beforeEachProviders(() => [provide(LockerConfig, {useValue: new LockerConfig(null, driver)}), Locker])
      afterEach(() => driver.clear())

      it(`sets driver to ${driverName}`, inject([Locker, LockerConfig], function(locker: Locker) {
        expect(locker['driver']).toEqual(driver)
      }))


      it('sets key with string value into storage', inject([Locker], function(locker: Locker) {
        const TEST_VALUE = 'TEST'

        locker.set(TEST_KEY, TEST_VALUE)

        expect(locker.get(TEST_KEY)).toEqual(TEST_VALUE)
      }))

      it('sets key with object value into storage', inject([Locker], function(locker: Locker) {
        const TEST_VALUE = {
          object1: 'villa',
          myObject: 'Test'
        }

        locker.set(TEST_KEY, TEST_VALUE)

        expect(locker.get(TEST_KEY)).toEqual(TEST_VALUE)
      }))

      it('removes data from storage with .remove', inject([Locker], function(locker: Locker) {
        const TEST_VALUE = 'TEST'

        locker.set(TEST_KEY, TEST_VALUE)

        locker.remove(TEST_KEY)
        expect(locker.get(TEST_KEY)).not.toEqual(TEST_VALUE)
      }))

      it('clears all data from the storage with .clear', inject([Locker], function(locker: Locker) {
        const TEST_VALUE = 'TEST',
              TEST_KEY_2 = `TEST_${TEST_KEY}`

        locker.set(TEST_KEY, TEST_VALUE)
        locker.set(TEST_KEY_2, TEST_VALUE)

        locker.clear()

        expect(locker.get(TEST_KEY)).not.toEqual(TEST_VALUE)
        expect(locker.get(TEST_KEY_2)).not.toEqual(TEST_VALUE)
      }))

      it('can fetch key by index', inject([Locker], function(locker: Locker) {
        var dummy = {
          key: 'TEST',
          data: `TEST-${Math.random() * 1000}`
        }

        locker.set(dummy.key, dummy.data)

        expect(locker.key()).toEqual(dummy.key)
      }))
    })
開發者ID:robscotts4rb,項目名稱:angular2-locker,代碼行數:63,代碼來源:TestDriver.ts

示例6: describe

describe('Page1Service standalone TEST ' + '-'.repeat(40), () => {
  let service: Page1Service;
  let clock: lolex.Clock;

  beforeEachProviders(() => [
    Page1Service,
  ]);


  beforeEach(inject([Page1Service], (_service) => {
    service = _service;
  }));


  afterEach(() => {
    try {
      clock.uninstall();
    } catch (e) { }
  });


  it('can create', asyncPower(async () => {
    assert(!!service);
  }));


  // このテストはfakeAsyncテストでは通らない。asyncテストでもsetTimeoutしないと通らない。
  // ServiceからsetInterval(Observable.timer)を取り除けばこんなややこしいことをしなくてもテストが通る。
  it('counter value must be increment correctly', asyncPower(async () => {
    await setTimeoutPromise(0, true); // setTimeoutしてzoneのfirst turnから抜けた狀態じゃないと下記のテストは通らない。    
    assert(observableValue(service.counter$) === 0);
    service.increment(1);
    assert(observableValue(service.counter$) === 1);
    service.increment(1);
    assert(observableValue(service.counter$) === 2);
    service.increment(2);
    assert(observableValue(service.counter$) === 4);
  }));


  // らこさんエディション
  it('counter value must be increment correctly by @laco', async(() => {
    let value: number;
    service.counter$.subscribe(counter => value = counter);

    setTimeout(() => {
      service.increment(1);
      assert(value === 1);
      service.increment(1);
      assert(value === 2);
      service.increment(2);
      assert(value === 4);
    }, 0);
  }));

  it('exprimental 2', asyncPower(async () => {
    await setTimeoutPromise(0, true);
    let counter: number;
    let currentTime: number;
    let previousTime: number;
    service.counter$.subscribe(value => counter = value);
    service.timeNow$.subscribe(value => {
      if (currentTime) {
        previousTime = currentTime;
      }
      currentTime = value;
    });

    service.increment(1);
    assert(counter === 1);
    service.increment(1);
    assert(counter === 2);
    service.increment(2);
    assert(counter === 4);

    await setTimeoutPromise(1000);
    console.log([previousTime, currentTime]);
    assert(previousTime + 1000 <= currentTime);
  }));

});
開發者ID:ovrmrw,項目名稱:angular2-testing-sample,代碼行數:81,代碼來源:page1.service.spec.ts


注:本文中的@angular/core/testing.afterEach函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。