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

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)
主站蜘蛛池模板: 光泽县| 黎平县| 文登市| 忻城县| 托克托县| 怀宁县| 英超| 遵义市| 修武县| 道真| 前郭尔| 梁平县| 齐齐哈尔市| 乌拉特前旗| 青海省| 浦县| 高雄市| 顺昌县| 武冈市| 大厂| 岑溪市| 华阴市| 梨树县| 华安县| 梅州市| 永定县| 晋江市| 云安县| 资中县| 八宿县| 元氏县| 临猗县| 香河县| 方山县| 清镇市| 济南市| 台前县| 芜湖市| 榆树市| 和林格尔县| 绥芬河市|