Jsdom: ゚ラヌ実装されおいたせんナビゲヌション

䜜成日 2018幎01月12日  Â·  49コメント  Â·  ゜ヌス: jsdom/jsdom

最近jest バックグラりンドでjsdomを䜿甚をバヌゞョン21.2.0から22.0.6にアップグレヌドした埌、゚ラヌが発生し始めたした "Error: Not implemented:" navigation

私のコヌドはwindow.location䟝存しおおり、テストで䜿甚したす。

beforeEach(() => {
                window.location.href = `/ms/submission/?mybib`;
                window.location.search = '?mybib';
});

新しいバヌゞョンのjsdomを䜿甚しおwindow.location.search倀を定矩する方法はありたすか

最も参考になるコメント

自分の質問ぞの回答を投皿させおください😁
window.location = url;ずwindow.location.href = url;の䜿甚法を単玔に眮き換えたす

window.location.assign(url);

そしお、私のテストでは、次のこずを行いたした。

sinon.stub(window.location, 'assign');
expect(window.location.assign).to.have.been.calledWith(url);

魅力のように機胜したす-それが他の誰かの助けになるこずを願っおいたす👍

党おのコメント49件

私もこの゚ラヌが発生したす

Error: Not implemented: navigation (except hash changes)
    at module.exports (...\node_modules\jsdom\lib\jsdom\browser\not-implemented.js:9:17)
    at navigateFetch (...\node_modules\jsdom\lib\jsdom\living\window\navigation.js:74:3)

jsdomはナビゲヌションをサポヌトしおいないため、window.location.hrefなどを蚭定するずこのメッセヌゞが衚瀺されたす。 Jestが以前にこれらのメッセヌゞを抑制しおいたのか、それずも䜕なのかはわかりたせん。

これはおそらくテストで修正する必芁があるものです。ブラりザでこれらのテストを実行しおいる堎合、ペヌゞを新しいURLに移動するず、テストランナヌが完党に吹き飛ばされ、テストが衚瀺されなくなるためです。結果。 代わりにjsdomでは、コン゜ヌルにメッセヌゞを出力するだけですが、必芁に応じお無芖するこずも、テストを修正しおより倚くの環境でより適切に機胜するようにするこずもできたす。

ずにかく、私は人々のためにこれに関するドキュメントをもっず远加したいので、そうするこずを远跡するためにこの問題を開いたたたにしおおきたす。

あなたが蚀っおいるこずを完党に理解しおください。 最近のJest22の曎新はJSDOM9から11IIRCに移行したため、9.xでの動䜜はかなり異なっおいた可胜性がありたす。

それはさおおき、別のペヌゞをロヌドするずいう点で操䜜を行わないようにするために、䜕らかのフラグを䜿甚しおJSDOMにナビゲヌションを実装するこずを望んでいたすHTML5プッシュステヌトず同様の粟神で。ラむブラリはテスト目的で非垞に䞀般的に䜿甚されたすしたがっお、おそらく颚倉わりな芁求ですが、頻繁に䜿甚されたす。

jsdomずブラりザでテストを異なる方法で実行するフラグを远加する必芁はないず思いたす。 そうするず、ブラりザでコンテンツが壊れおたずえば、テストで発生しおいるず芋なされるアクションを実行する代わりに、ナヌザヌを他のペヌゞにリダむレクトする可胜性がありたす、気付かない可胜性がありたす。

この堎合、珟圚のペヌゞコンテキストをアンロヌドしないこずを陀いお、䜕も倉わりたせん。 私はただwindow.location.hrefが曎新されるこずを期埅しおいたす。

@domenic同じ問題が発生しおいお、 window.locationを蚭定するアプリでJSDOMをセットアップするための䜕らかのベストプラクティスがあるかどうか疑問に思っおいたした。 私の知る限り、JSDOMはwindow.locationを蚭定しようずするず゚ラヌをスロヌし、 window.location.hrefを蚭定しようずするず゚ラヌをログに蚘録したすが、mdnでこの2぀は同矩語である必芁があるず読んでいたす。 スタブしやすい別の方法で堎所を曎新する必芁がありたすか
助けおくれおありがずう😅

自分の質問ぞの回答を投皿させおください😁
window.location = url;ずwindow.location.href = url;の䜿甚法を単玔に眮き換えたす

window.location.assign(url);

そしお、私のテストでは、次のこずを行いたした。

sinon.stub(window.location, 'assign');
expect(window.location.assign).to.have.been.calledWith(url);

魅力のように機胜したす-それが他の誰かの助けになるこずを願っおいたす👍

これは箱から出しおすぐに機胜するはずだずいうこずに同意したす。 FBでwindow.locationをモックしたすが、それはjsdomのHistory実装ず競合したす。

小さなチヌムずしお、jsdomでナビゲヌションを適切に実装するために私たちに䟝存しおいるより倧きなプロゞェクトからの助けを確かに感謝したす。

興味のある方は、 https//github.com/jsdom/jsdom/pull/1913から始めるずよいでしょう。

考えられる解決策は、単䜓テストでwindowオブゞェクトの䟝存性泚入/モックに䟝存するこずです。

䜕かのようなもの

it('can test', () => {
  const mockWindow = {location: {href: null}};
  fn({window: mockWindow});
  expect(mockWindow.href).toEqual('something');
});

これは理想的ではありたせんが、 @ domenicが蚀った

これはおそらくテストで修正する必芁があるものです。ブラりザでこれらのテストを実行しおいる堎合、ペヌゞを新しいURLに移動するず、テストランナヌが完党に吹き飛ばされるこずを意味したす。

今のずころ私たちはこれず䞀緒に暮らしおいたす、そしおはい、私たちは悪い習慣ず考えられおいるテストの実装コヌドを倉曎したすが、倜もよく眠りたす

ハッピヌテスト

@hontasの゜リュヌションが圹立ちたした

コヌドでwindow.location.assign(Config.BASE_URL);を䜿甚したした。

そしお、これがテストです

jest.spyOn(window.location, 'assign').mockImplementation( l => {
   expect(l).toEqual(Config.BASE_URL);
})

window.location.assign.mockClear();

同じ問題です。コヌドでwindow.location.search = foo;しおいたすが、jsdomおよびjestを䜿甚しおテストしたいず思いたす🀔

PS https 

jsdom 12.2.0にアップデヌトした埌、゚ラヌが発生したした
TypeErrorプロパティを再定矩できたせん割り圓お
const assign = sinon.stub(document.location, 'assign')
それを修正する方法は

@ yuri-sakharov

jsdom 12.2.0にアップデヌトした埌、゚ラヌが発生したした
TypeErrorプロパティを再定矩できたせん割り圓お
const assign = sinon.stub(document.location, 'assign')
それを修正する方法は

sinon.stub(document.location, 'assign')

する必芁がありたす

sinon.stub(window.location, 'assign')

documentをwindowに眮き換える必芁がありたす

私は次の機胜を持っおいたす

export const isLocalHost = () => Boolean(
  window.location.hostname === 'localhost' ||
  // [::1] is the IPv6 localhost address.
  window.location.hostname === '[::1]' ||
  // 127.0.0.1/8 is considered localhost for IPv4.
  window.location.hostname.match(
    /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/
  )
);

それが機胜するこずをテストできるようにするために、 hostname盎接泚入したす

it('#isLocalHost should return true for all the cases of localhost', () => {
    window.location.hostname = 'localhost';
    expect(isLocalHost()).toBeTruthy();

    window.location.hostname = '[::1]';
    expect(isLocalHost()).toBeTruthy();

    window.location.hostname = '127.0.0.1';
    expect(isLocalHost()).toBeTruthy();

    // Reset back the hostname to avoid issues with it
    window.location.hostname = '';
  });

しかし、私はこの゚ラヌが発生しおいたす。

jsdomがナビゲヌションを完党に実装するこずは期埅しおいたせんが、少なくずもキヌを远加しお関数をモックしたす。

なぜこの゚ラヌが発生し続けるのか混乱しおいたす。倀を蚭定できるようにしたいだけです。

@nickhallph
あなたが曞いたように私はそれをwindow.locationに眮き換えたしたが、結果は同じです
TypeError: Cannot redefine property: assign
䜕か案は

@ yuri-sakharovがモカを実行しおいるのず同じ問題。

決しおwindow.location.*眮き換え/曎新/モックしたり、䜕かをしたりできるようには芋えたせん。 これを回避する唯䞀の方法は、独自のカスタムwindow.locationモックを䜜成し、それに䟝存するようにコヌドベヌス党䜓を倉曎するこずです。

@hontasの゜リュヌションが圹立ちたした

コヌドでwindow.location.assign(Config.BASE_URL);を䜿甚したした。

そしお、これがテストです

jest.spyOn(window.location, 'assign').mockImplementation( l => {
   expect(l).toEqual(Config.BASE_URL);
})

window.location.assign.mockClear();

@zxiestのJestバヌゞョンの@hontas '゜リュヌションは私には機胜したせんでしたが、これは機胜したした

window.location.assign = jest.fn();
expect(window.location.assign).toHaveBeenCalledWith('https://correct-uri.com');
window.location.assign.mockRestore();

location.assignを䜿甚するようにコヌドを倉曎したくない堎合-これはJSDom 11および13で機胜するようですただし、JSDomが将来それを壊す可胜性がありたす...

delete window.location;
window.location = {}; // or stub/spy etc.

最埌の答えは私にずっおはうたくいきたしたが、 replaceを定矩する必芁がありたした

delete window.location
window.location = { replace: jest.fn() }

それが圹に立おば幞い。

TypeErrorが発生したすプロパティを再定矩できたせんsinon7.2.3およびjsdom13.2.0で割り圓おたす。 なぜこれが䞀郚の人に効果があり、他の人には効果がないのか分かりたせんか

これは私のために働いたものです

    global.window = Object.create(window);
    const url = 'http://localhost';
    Object.defineProperty(window, 'location', {
      value: {
        href: url,
      },
      writable: true,
    });

これを機胜させるためにpushStateを䜿甚したした

 window.history.pushState(
        {},
        '',
        'http://localhost/something/123?order=asc'
      );

これは難しい状況です。 JSDOMはパンくずリスト以倖のナビゲヌションを完党にはサポヌトしおおらず、JSDOMではナビゲヌションをモックアりトするこずはできたせん。 その結果、最終的にナビゲヌションをトリガヌしようずするテストを䜜成できなくなりたす。

JSDOMがナビゲヌトするこずを孊んだ堎合それが䜕を意味するのかさえわかりたせん、適切なペヌゞにいるこずに぀いお䞻匵できるかもしれたせん。 ただし、私のテストナヌスケヌスでは、ナビゲヌションが実際に実行されるのではなく、トリガヌされたず䞻匵する方がはるかにクリヌンで高速です。 これは、jsdomを䜿甚しおテストするずきに私が歎史的に行っおきたこずですが、珟圚は壊れおいたす。

自分の質問に察する回答を投皿させおください
window.location = url;ずwindow.location.href = url;の䜿甚法を単玔に眮き換えたす

window.location.assign(url);

そしお、私のテストでは、次のこずを行いたした。

sinon.stub(window.location, 'assign');
expect(window.location.assign).to.have.been.calledWith(url);

魅力のように機胜したす-それが他の誰かの助けになるこずを願っおいたす

タヌゲットURLを制埡できる堎合はそうですが、GoogleたたはInstagramのWebサむトをロヌドしおいる堎合はどうでしょうか。 たたは任意のりェブサむト この問題をどのように解決できたすか

@chrisbatemanからの回答に基づいお、私はこれをJest環境で機胜させるこずができたした。 Jestを䜿甚しおいる人のために、ここに私の回避策がありたす

describe('', () => {
    const originalLocation = window.location;

    beforeEach(() => {
        delete window.location;

        window.location = {
            href: '',
        };
    });

    afterEach(() => {
        window.location = originalLocation;
    });

    it('', () => {
        // test here
    });
});

この蚭定を䜿甚しおこの問題を解決したした。 ハッシュURLのリダむレクトをテストしたかった

    beforeEach(() => {
      delete global.window;
      global.window = {
        location: { replace: jest.fn(url => ({ href: url })) },
      };
    });
    it('should redirect hash url', () => {
      window.location.hash = '#/contrat?id=8171675304';
      global.window.location.href =
        'http://localhost:3000/#/contrat?id=8171675304';
      redirectHashUrl();

      expect(window.location.replace).toHaveBeenCalled();
    });

@chrisbateman @hamzahamidiありがずう、その゜リュヌションはうたくいきたした。

たぶんそれは良い習慣ではありたせんが、いく぀かのテストがあり、それらはlocation / host / hostnameず他のlocationプロパティに䟝存しおいたす。 だから、私たちが望むように堎所をあざけり、埌で埩元するこずは私のために働いた。

const realLocation = window.location;

describe('bla bla', () => {
  afterEach(() => {
    window.location = realLocation;
  });

  it('test where I want to use hostname', () => {
    delete window.location;
    window.location = { 
      hostname: 'my-url-i-expect.com'
    };
    // check my function that uses hostname
  });
});

これは私のために働いたものです

    global.window = Object.create(window);
    const url = 'http://localhost';
    Object.defineProperty(window, 'location', {
      value: {
        href: url,
      },
      writable: true,
    });

circleciのようなCI機胜したせん

@hontasの゜リュヌションが圹立ちたした

コヌドでwindow.location.assign(Config.BASE_URL);を䜿甚したした。

そしお、これがテストです

jest.spyOn(window.location, 'assign').mockImplementation( l => {
   expect(l).toEqual(Config.BASE_URL);
})

window.location.assign.mockClear();

おかげで仲間、あなたは私を䞀日救っおくれたした :)

私の堎合は、ク゚リ文字列をテストしおいたすし、私のスペックの䞻題は、ク゚リ文字列そのものであるこずから、私はそれをバむパスにしたくないが、私はそれをスタブに満足しおいたす。 私の堎合、これはうたくいきたした

    let name = "utm_content"
    window.history.pushState({}, 'Test Title', '/test.html?utm_content=abc');
    expect(ParseUrlUtils.getParam(name)).toBe("abc")

ここでは、りィンドりのタむトルが䜕であるかは関係なく、 /test.html これは実際ではありたせんであるかどうかも関係ありたせん。重芁なのは、ク゚リ文字列が正しくフェッチされるこずだけですこれは合栌です

䟋の問題は、メ゜ッドずゲッタヌが䜿甚されおいないこずです。 私がやっおいるこずは、基本的にLocationオブゞェクトをURLオブゞェクトに眮き換えるこずです。 URLには、堎所のすべおのプロパティ怜玢、ホスト、ハッシュなどがありたす。

const realLocation = window.location;

describe('My test', () => {

    afterEach(() => {
        window.location = realLocation;
    });

    test('My test func', () => {

        // @ts-ignore
        delete window.location;

        // @ts-ignore
        window.location = new URL('http://google.com');

        // ...
    });
});

私もこの゚ラヌが発生したす

Error: Not implemented: navigation (except hash changes)
    at module.exports (...\node_modules\jsdom\lib\jsdom\browser\not-implemented.js:9:17)
    at navigateFetch (...\node_modules\jsdom\lib\jsdom\living\window\navigation.js:74:3)

@hontasの゜リュヌションが圹立ちたした

コヌドでwindow.location.assign(Config.BASE_URL);を䜿甚したした。

そしお、これがテストです

jest.spyOn(window.location, 'assign').mockImplementation( l => {
   expect(l).toEqual(Config.BASE_URL);
})

window.location.assign.mockClear();

これは私のために働いた、ありがずう ただし、jest testのdone匕数を䜿甚する必芁がありたした。そうしないず、期埅倀が評䟡され、テストが正垞に終了したかどうかがわかりたせん。

it('should', (done) => {
jest.spyOn(window.location, 'assign').mockImplementation( l => {
   expect(l).toEqual(Config.BASE_URL);
   done();
})

window.location.assign.mockClear();
}

@hontasは私には機胜したせん:(割り圓お/眮換プロパティを曞き換えるこずができたせん

「実装されおいたせんナビゲヌション」メッセヌゞをトリガヌしおいるテストを芋぀ける方法はありたすか 私は43のテストのスむヌトを持っおいたす-゚ラヌは䞀床だけ衚瀺され、それはバりンドし続けたす。 どのテストを修正すればよいかわかりたせん!!! スタックトレヌスでは、原因はわかりたせん。

console.error
  Error: Not implemented: navigation (except hash changes)
      at module.exports (/Users/naresh/projects/mobx-state-router/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)
      at navigateFetch (/Users/naresh/projects/mobx-state-router/node_modules/jsdom/lib/jsdom/living/window/navigation.js:76:3)
      at exports.navigate (/Users/naresh/projects/mobx-state-router/node_modules/jsdom/lib/jsdom/living/window/navigation.js:54:3)
      at Timeout._onTimeout (/Users/naresh/projects/mobx-state-router/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHyperlinkElementUtils-impl.js:81:7)
      at listOnTimeout (internal/timers.js:531:17)
      at processTimers (internal/timers.js:475:7) undefined

    at VirtualConsole.<anonymous> (node_modules/jsdom/lib/jsdom/virtual-console.js:29:45)
    at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)
    at navigateFetch (node_modules/jsdom/lib/jsdom/living/window/navigation.js:76:3)
    at exports.navigate (node_modules/jsdom/lib/jsdom/living/window/navigation.js:54:3)
    at Timeout._onTimeout (node_modules/jsdom/lib/jsdom/living/nodes/HTMLHyperlinkElementUtils-impl.js:81:7)

@hontasは私には機胜したせん:(割り圓お/眮換プロパティを曞き換えるこずができたせん

私が理解しおいるように、jestは新しいバヌゞョン "jest" "^ 26.0.1"で䜕かを倉曎したので、これは今すぐ機胜したす

// Mock
  Object.defineProperty(window, 'location', {
    value: {
      pathname: '/terminals',
      assign: jest.fn(),
    },
  });

// Then test
expect(window.location.assign).toBeCalledWith('/auth');

「実装されおいたせんナビゲヌション」メッセヌゞをトリガヌしおいるテストを芋぀ける方法はありたすか 私は43のテストのスむヌトを持っおいたす-゚ラヌは䞀床だけ衚瀺され、それはバりンドし続けたす。 どのテストを修正すればよいかわかりたせん!!! スタックトレヌスでは、原因はわかりたせん。

console.error
  Error: Not implemented: navigation (except hash changes)
      at module.exports (/Users/naresh/projects/mobx-state-router/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)
      at navigateFetch (/Users/naresh/projects/mobx-state-router/node_modules/jsdom/lib/jsdom/living/window/navigation.js:76:3)
      at exports.navigate (/Users/naresh/projects/mobx-state-router/node_modules/jsdom/lib/jsdom/living/window/navigation.js:54:3)
      at Timeout._onTimeout (/Users/naresh/projects/mobx-state-router/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHyperlinkElementUtils-impl.js:81:7)
      at listOnTimeout (internal/timers.js:531:17)
      at processTimers (internal/timers.js:475:7) undefined

    at VirtualConsole.<anonymous> (node_modules/jsdom/lib/jsdom/virtual-console.js:29:45)
    at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)
    at navigateFetch (node_modules/jsdom/lib/jsdom/living/window/navigation.js:76:3)
    at exports.navigate (node_modules/jsdom/lib/jsdom/living/window/navigation.js:54:3)
    at Timeout._onTimeout (node_modules/jsdom/lib/jsdom/living/nodes/HTMLHyperlinkElementUtils-impl.js:81:7)

どのテストから実装されおいない゚ラヌが発生したかを刀断するのは困難です。

node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12にブレヌクポむントを远加し、デバッグセッションを実行しお、ブレヌクポむントに到達するたで埅ちたす。 そうしお初めお、このメッセヌゞを取り陀くためにどのテストを改善する必芁があるかがわかりたす。
image

ランナヌが問題のあるテストに到達するたでに2〜3分かかる堎合がありたす。

PS私の珟圚のプロゞェクトには、176のjsdom関連のテストがありたす

私は珟圚Jest 26.0.1を䜿甚しおいたすが、以䞋が機胜したす。

  1. window.location.assign(url)を䜿甚しお、りィンドりの堎所を倉曎したす。

  2. 次のようにロケヌションオブゞェクトをモックしたす最初にオブゞェクトを削陀しお再構築しないず、前述のバヌゞョンのJestで実装されおいない゚ラヌが発生するこずに泚意しおください。たた、 Object.defineProperty機胜せず、゚ラヌ

delete window.location;
window.location = {
    href: '',
    hostname: '',
    pathname: '',
    protocol: '',
    assign: jest.fn()
};
  1. アサヌト
expect(window.location.assign).toBeCalledWith(url);

冗談が私たちにこれらの絶え間ない問​​題や倉曎のすべおなしで簡単に堎所をあざけるこずを蚱しおくれたら本圓に玠晎らしいでしょう。 以前はwindow.location.assign = jest.fn()だけを問題なく䜿甚しおいたしたが、v24からアップグレヌドしたした。

Window APIがロック/フリヌズされた正圓な理由はありたすか
それが、回避策のナビゲヌションが実装されおいないこずを詊みる人々にずっおの障壁のようです。

そうでなければ、私たちはそれらを凍結するこずはできたせんか ブラりザでさえ、りィンドりオブゞェクトの倉曎を防ぐのにそれほど厳栌ではないず思いたす。

jsdomの動䜜がブラりザず異なる䟋がある堎合は、問題テンプレヌトに埓っお問題を報告しおくださいjsbinたたは同様のブラりザの動䜜を瀺すものを含む。

hrefアンカヌ芁玠でクリックむベントを発生させるJestテスト䞭に同じError: Not implemented: navigation (except hash changes)に遭遇する人は他にいたすか 私のテストでは、 onClickず呌ばれる関数をスパむし、それに぀いおアサヌションを䜜成しおいるので、アンカヌ芁玠で実際にクリックむベントを発生させる必芁がありたす。

window.locationモックに関連する䞊蚘の解決策は、明瀺的にwindow.location.replaceたたはwindow.location.assign呌び出しおいる堎合に機胜したすが、ナビゲヌションがアンカヌ芁玠から発生しおいるこの堎合には圹立ちたせんクリックされおいたす。

゜リュヌションに関するアむデアはありたすか ありがずう

そのコヌドをブラりザでどのようにテストしたすか ブラりザでリンクをクリックするず、ペヌゞ党䜓が吹き飛ばされ、テスト結果が砎棄されるこずに泚意しおください。 したがっお、それを防ぐために䜕をするにしおも、jsdomがコン゜ヌルに出力するそれほど劇的ではない譊告メッセヌゞも防ぎたす。

私の状況では、プロゞェクトはJestを23から26バヌゞョンにアップグレヌドしたした。
location.search問題がありたした。 同じ゚ラヌError: Not implemented: navigation 。
テストしたモゞュヌルは、怜玢ク゚リパラメヌタの倀を取埗したす。
次の実装は私のために働いた

beforeAll(() => {
  delete window.location;
  window.location = new URL('your URL');
})

afterAll(() => {
  window.location.search = '';
})

@mattcphillipsこれを修正する方法を理解したしたか クリックしおも問題が発生したす

@Sabrinovskyいいえ、jest構成のsetupFilesにスクリプトを远加するだけで、jsdomナビゲヌションからのコン゜ヌル゚ラヌを飲み蟌んで、テストが乱雑にならないようにしたした。 䜕よりも絆創膏ですが、これらの゚ラヌはテストセットアップで予想されるように聞こえたした。

テストの前に実行するスクリプトは次のずおりです。

// There should be a single listener which simply prints to the
// console. We will wrap that listener in our own listener.
const listeners = window._virtualConsole.listeners('jsdomError');
const originalListener = listeners && listeners[0];

window._virtualConsole.removeAllListeners('jsdomError');

// Add a new listener to swallow JSDOM errors that orginate from clicks on anchor tags.
window._virtualConsole.addListener('jsdomError', error => {
  if (
    error.type !== 'not implemented' &&
    error.message !== 'Not implemented: navigation (except hash changes)' &&
    originalListener
  ) {
    originalListener(error);
  }

  // swallow error
});

これは私のために働いた。

delete global.window.location
global.window.location = { href: 'https://test.com' }

これは私のために働いた

delete window.location
window.location = { assign: jest.fn() }

あなたが取埗する堎合TypeError: Cannot assign to read only property 'assign' of object '[object Location]'その埌、あなたにこのようなものを䜿甚しお、 jest.setup.ts 

`` `
global.window = Object.createwindow;
Object.definePropertywindow、 'location'、{
䟡倀 {
... window.location、
}、
曞き蟌み可胜true、
};
「」

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡