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

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)
主站蜘蛛池模板: 长岭县| 青冈县| 灌南县| 广平县| 亳州市| 彭州市| 平山县| 克什克腾旗| 张家界市| 两当县| 杂多县| 东乡族自治县| 鄂尔多斯市| 寿阳县| 徐汇区| 富裕县| 镶黄旗| 嘉定区| 金塔县| 延庆县| 广德县| 扎赉特旗| 黄石市| 通化县| 绵阳市| 乐安县| 七台河市| 蒲城县| 北流市| 望奎县| 灵丘县| 宾阳县| 翁牛特旗| 墨江| 通城县| 永昌县| 漳州市| 金阳县| 安溪县| 十堰市| 冕宁县|