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

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)
主站蜘蛛池模板: 洪江市| 双峰县| 贡嘎县| 泰和县| 浦江县| 怀柔区| 东乌珠穆沁旗| 容城县| 东乡县| 保德县| 南江县| 新化县| 长顺县| 玉环县| 乡城县| 原平市| 蒙山县| 保德县| 新建县| 林周县| 寻甸| 达拉特旗| 天峨县| 博兴县| 津市市| 阿拉善盟| 荆州市| 林州市| 阿鲁科尔沁旗| 南昌市| 鄂尔多斯市| 益阳市| 文水县| 美姑县| 平和县| 宁河县| 修武县| 剑阁县| 潼关县| 鹿泉市| 孟村|