コモクリアーは、統合されますインテグラー
26812 ワード
ファラギャララ!NOS Artigos Teroriiores Criamos Dois Componentes E Ma Fun Media To o O , Testamos Cada - uma das partes de forma isolada , Criando Testes que s o o conhecidos como testes unit by rios
Theo isso Funciona Junto、パラシュートで降下することができます.
モグラの変わり目について
連続的なデonde Paramos vocrepositório Eファーザー
クリオオーArquivo
Renderiza OSコンポーネント 情報としての有識者の言説 Informaの巣は、es enoのenviadasパラシュートで降下する人馬のAPI que retorna cota 楽しい味方 OラヴァルRortornadoペラ楽しい オルタナとしてのファシズム
<研究ノート>
オルタナとしてのファシズム
<研究ノート> Deveriam Estar Passando , Mas n Trio O est est O , Repare que aparecem v Are Rias Mensagens de Erro , e - uma delas es essa :
パラレゾルバ・エスソ著『ポリ・フィル』について
ONDE Oテスターファルハを観察する
Primeiro , O - Bloo do teste deve ser ass nnono :
Nesse Momento , Provvelvelte o o Teste est est falhando , e eu eu falo provavelmente porque es algo incertoEstamos fazendo umレクサスは、oパラマAPI外面、queレトルーナバレスque mudam constantemente oを得ます.
Nesse TipoデTeste、nは、デdevemos nos fazerである.耳鼻咽喉科O , AO
デッサVaz vamosの利用zo todo
パラテスターは、API retorna um erro、podemos criar um teste parecido com oの前部、diferenのパーセンテージであるNesseカソ、API API retorna - uma mensagem de erro e verificamse se essa mensagem est - do sendo exibidaを意味します.
Nerse Artigo、Criamosは、Integra Ses Astro o o para Verificar SE Os Componentes que foram desenvolvidos NOS Artigos Tereniores FuncionamユントスエムUma Aplica Sesplo o o、Adicionamos Suporte ParpフェッチAPI e mais uma vez criamos mocksです.
エムAplicaは、フロントエンド、testes単位は、rios e testesデIntegra Sys Astro O s s o o Beam Parecidos、Diferen Smareであります.
エサは、アルゴqueエゴgostando bastanteデfazer、エスパロque este conteによってestejaアジャダドをしてください.
コスモデコスチュームrepositório パラコムCディルディゴーフェイトネッセアーティゴー.アブラは、o!
Theo isso Funciona Junto、パラシュートで降下することができます.
コンフェクヌスアパリカ
モグラの変わり目について
連続的なデonde Paramos vocrepositório Eファーザー
checkout
NAブランチexercise-04
.クリオオーArquivo
App.test.js
デロンデsrc
E adicione o seguinte :import { render } from "@testing-library/react";
import App from "./App";
test("shows the amount in brazilian real after submit", () => {
render(<App />);
});
コマンドウを実行するnpm test -- --watch
, E . seguaは、o Arquivoを叫びますApp.js
デロンデsrc
.const App = () => null;
export default App;
<資料>Form
エHighlight
; multiply
O ' valor pela cotamultiply
エウロウド・エ・エ・エウリュラドゥの構成要素App.test.js
:import { render, screen } from "@testing-library/react";
import userEvent from "@testing-library/user-event";
import App from "./App";
test("shows the amount in brazilian real after submit", () => {
render(<App />);
userEvent.type(screen.getByLabelText(/valor/i), "3000");
userEvent.selectOptions(screen.getByLabelText(/moeda/i), "USD");
userEvent.click(screen.getByRole("button", { name: /calcular/i }));
expect(screen.getByText("14808.9")).toBeInTheDocument();
});
デッサ・フォーム、APrender
, Preenchido com Oの形式userEvent
E APは、o oのcliqueをo o o o o o o a o o o o o o o o o o o a o o a o o a o a o a o a o a o a o a o a o a o a o a o a o a o a o a o a o a o a o a o a o a o a o a o a o o a o a o a o a o a o o o a o o<研究ノート>
TestingLibraryElementError: Unable to find a label with the text of: /valor/i
パラ・テス・パス『アウグラ』としてのファールApp.js
:import Form from "./components/Form";
import Highlight from "./components/Highlight";
const App = () => {
const handleSubmit = () => null;
return (
<>
<Form onSubmit={handleSubmit} />
<Highlight value="14808.90" />
</>
)
};
アゴラプリサマーズO C Cディックディゴ、パラque Tha Hahaの実装者.パラアイソ、VamosAPI de Cotações de Moedas パラシュートで降下する人は、Cotaです.フェラトラ
オルタナとしてのファシズム
App.js
.import { useState } from "react";
import Form from "./components/Form";
import Highlight from "./components/Highlight";
import { multiply } from './utils/math'
const App = () => {
const [value, setValue] = useState(null);
const handleSubmit = async ({ value, coin }) => {
const res = await window.fetch(
`https://economia.awesomeapi.com.br/json/last/${coin}-BRL`
);
const data = await res.json();
const result = multiply(data[`${coin}BRL`].ask, value).toFixed(2);
setValue(result);
};
return (
<>
<Form onSubmit={handleSubmit} />
<Highlight value={value} />
</>
)
};
エサ・オルタナhandleSubmit
envia os dados,os valore e armazena o valor em um estado,exatamente como descreveemos antesを乗算します.<研究ノート> Deveriam Estar Passando , Mas n Trio O est est O , Repare que aparecem v Are Rias Mensagens de Erro , e - uma delas es essa :
TypeError: window.fetch is not a function
Isoso aconteceポルノos睾丸は、実行しますNode.js , <研究ノート>オーマの経営者に関する一考察Fetch API .パラレゾルバ・エスソ著『ポリ・フィル』について
npm install --save whatwg-fetch
APは、Instalaに属しますInstalaは、oですjest.config.js
:setupFiles: [require.resolve('whatwg-fetch')],
ソフィストにおけるスーザンの思想fetch
アンビエントデティスト<武井>fetch
nは、aparecemのmais、oはニコの問題は、oテスターfalhando、mas jのvvosリゾルバisso.TestoのFluxosロバ
ONDE Oテスターファルハを観察する
> 12 | expect(screen.getByText("14808.90")).toBeInTheDocument();
タンブを観察するdiv
オンデO Valor deveria estar , Eest - Mol Vazia :<body>
<div>
<form>...</form>
<div />
</div>
</body>
nenhum valor foi exibido porque oexpect
FOI Executado Antes daレステシは、o serの結論を得ます.パラレゾルバIsoso、予測子ファーザーduas alteraは、es . es . esです.Primeiro , O - Bloo do teste deve ser ass nnono :
test("shows the amount in brazilian real after submit", async () => {
render(<App />);
E Segundoは、asserの巣は、o deve ser feitaのapを主張します.Podemos USARの検索結果findBy
アオ・インgetBy
, 質問は、Tipo sを非難します.expect(await screen.findByText("14808.90")).toBeInTheDocument();
クリプトアムモックパラフェッチAPI
Nesse Momento , Provvelvelte o o Teste est est falhando , e eu eu falo provavelmente porque es algo incertoEstamos fazendo umレクサスは、oパラマAPI外面、queレトルーナバレスque mudam constantemente oを得ます.
Nesse TipoデTeste、nは、デdevemos nos fazerである.耳鼻咽喉科O , AO
fetch
アルゴの前の前奏曲mock
.デッサVaz vamosの利用zo todo
spyOn
デトロイトド beforeAll
. Adicione seguinteリンハアンテスda楽しいtest
いいえArquivoApp.test.js
:beforeAll(() => jest.spyOn(window, "fetch"));
O spyOn
フォーチュア・パトリーダ・コム jest.fn
, エドゥードゥum objeto、o nomeはmを所有していますfunção mock , セグンテッツ・アッサー・ソウルズとしてのPermitindo Fazzerexpect(window.fetch).toHaveBeenCalledWith(
"https://economia.awesomeapi.com.br/json/last/USD-BRL"
);
expect(window.fetch).toHaveBeenCalledTimes(1);
<研究ノート>ポルノOにおける第二次世界大戦fetch
元の連続した仙洞chamado.<研究ノート> A・N・A・A・A・A mockImplementationOnce
パラDefinir馬の実装者はfetch
. アダージョo seguinte cは、dioを歌いますrender
いいえ、window.fetch.mockImplementationOnce(() => Promise.resolve({
ok: true,
json: async () => ({
USDBRL: { ask: "4.9363" },
}),
}));
デッサ・ホルム、アオ・イン・デ・シャンfetch
オリジナルは、楽しい小胞体o que passamosmockImplementationOnce
チャーダ・セO est Cona com um m to todo chamado mockResolvedValueOnce
アシュアモノ・デ・ファザーにおける「統語的糖」window.fetch.mockResolvedValueOnce({
ok: true,
json: async () => ({
USDBRL: { ask: "4.9363" },
}),
});
feito isso,osはdevem voltar a passarを精査するエルロ・ナ・レクサス
パラテスターは、API retorna um erro、podemos criar um teste parecido com oの前部、diferenのパーセンテージであるNesseカソ、API API retorna - uma mensagem de erro e verificamse se essa mensagem est - do sendo exibidaを意味します.
test("renders an error message from the server", async () => {
const testError = "test error";
render(<App />);
window.fetch.mockResolvedValueOnce({
ok: false,
json: async () => ({ message: testError }),
});
userEvent.type(screen.getByLabelText(/valor/i), "3000");
userEvent.selectOptions(screen.getByLabelText(/moeda/i), "USD");
userEvent.click(screen.getByRole("button", { name: /calcular/i }));
expect(await screen.findByRole("alert")).toHaveTextContent(testError);
});
パラ・テス・パース『アウグラ』としてのFAApp.js
const App = () => {
const [value, setValue] = useState(null);
const [error, setError] = useState(null);
const handleSubmit = async ({ value, coin }) => {
const res = await window.fetch(
`https://economia.awesomeapi.com.br/json/last/${coin}-BRL`
);
const data = await res.json();
if (!res.ok) {
setError(data.message);
return;
}
const result = multiply(data[`${coin}BRL`].ask, value).toFixed(2);
setValue(result);
};
return (
<>
<Form onSubmit={handleSubmit} />
<Highlight value={value} />
{error ? <div role="alert">{error}</div> : null}
</>
)
};
結論
Nerse Artigo、Criamosは、Integra Ses Astro o o para Verificar SE Os Componentes que foram desenvolvidos NOS Artigos Tereniores FuncionamユントスエムUma Aplica Sesplo o o、Adicionamos Suporte ParpフェッチAPI e mais uma vez criamos mocksです.
エムAplicaは、フロントエンド、testes単位は、rios e testesデIntegra Sys Astro O s s o o Beam Parecidos、Diferen Smareであります.
エサは、アルゴqueエゴgostando bastanteデfazer、エスパロque este conteによってestejaアジャダドをしてください.
コスモデコスチュームrepositório パラコムCディルディゴーフェイトネッセアーティゴー.アブラは、o!
Reference
この問題について(コモクリアーは、統合されますインテグラー), 我々は、より多くの情報をここで見つけました https://dev.to/felipecesr/como-criar-testes-de-integracao-em-aplicacoes-react-1a95テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol