官术网_书友最值得收藏!

Solving a batch of tests

We want to now duplicate those six tests for the last-name field. But how do we approach this? Well, we do it test-by-test, just as we did with the first name field. Only this time, we should go much faster as our tests are one-liners and the production code is a copy and paste job.

So, for example, the first test will be this:

describe('last name field', () => {
itRendersAsATextBox('lastName');
});

That can be made to pass by adding the following line to our JSX, just below the first-name input field:

<input
type="text"
name="lastName"
/>

This is just the start for the input field: you'll need to complete it as you add in the next tests.

Go ahead and add the remaining five tests together with their implementation. Then, repeat the process for the phone number field. When adding the submit tests for the phone number, make sure to provide a string value made up of numbers, such as '012345'. Later in this book, we'll add validations to this field that will fail if you don't use the right values now.

You might be tempted to try to solve all 12 new tests at once. If you're feeling confident, go for it!

If you want to see a listing of all tests in a file, you need to invoke Jest with just a single file. Run the npm test test/CustomerForm.test.js command to see what that looks like. Alternatively, you can run npx jest --verbose to run all tests with full test listings:

PASS test/CustomerForm.test.js
CustomerForm
? renders a form (28ms)
first name field
? renders as a text box (4ms)
? includes the existing value (3ms)
? renders a label (2ms)
? saves existing value when submitted (4ms)
? saves new value when submitted (5ms)
last name field
? renders as a text box (3ms)
? includes the existing value (2ms)
? renders a label (6ms)
? saves existing value when submitted (2ms)
? saves new value when submitted (3ms)
phone number field
? renders as a text box (2ms)
? includes the existing value (2ms)
? renders a label (2ms)
? saves existing value when submitted (3ms)
? saves new value when submitted (2ms)
主站蜘蛛池模板: 玉山县| 鄯善县| 宁乡县| 沙坪坝区| 永定县| 桃江县| 祁阳县| 玛纳斯县| 武安市| 保山市| 桐城市| 屏边| 昌邑市| 澜沧| 大石桥市| 云龙县| 城市| 涿鹿县| 金溪县| 江华| 原平市| 昭觉县| 萝北县| 湘乡市| 辰溪县| 汉源县| 广汉市| 乌兰浩特市| 庆城县| 古浪县| 堆龙德庆县| 高密市| 洛阳市| 龙泉市| 富阳市| 龙胜| 洛川县| 辰溪县| 黑山县| 天峨县| 同江市|