docs: do not call custom expect message an "error message" (#29390)
Fixes #29378.
This commit is contained in:
parent
721d84f17a
commit
9e285ce919
|
|
@ -1520,7 +1520,7 @@ This version was also tested against the following stable channels:
|
||||||
|
|
||||||
Read more in [our documentation](./test-assertions#soft-assertions)
|
Read more in [our documentation](./test-assertions#soft-assertions)
|
||||||
|
|
||||||
- You can now specify a **custom error message** as a second argument to the `expect` and `expect.soft` functions, for example:
|
- You can now specify a **custom expect message** as a second argument to the `expect` and `expect.soft` functions, for example:
|
||||||
|
|
||||||
```js
|
```js
|
||||||
await expect(page.locator('text=Name'), 'should be logged in').toBeVisible();
|
await expect(page.locator('text=Name'), 'should be logged in').toBeVisible();
|
||||||
|
|
|
||||||
|
|
@ -34,13 +34,13 @@ title: "Assertions"
|
||||||
## Custom Expect Message
|
## Custom Expect Message
|
||||||
* langs: python
|
* langs: python
|
||||||
|
|
||||||
You can specify a custom error message as a second argument to the `expect` function, for example:
|
You can specify a custom expect message as a second argument to the `expect` function, for example:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
expect(page.get_by_text("Name"), "should be logged in").to_be_visible()
|
expect(page.get_by_text("Name"), "should be logged in").to_be_visible()
|
||||||
```
|
```
|
||||||
|
|
||||||
The error would look like this:
|
When expect fails, the error would look like this:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
def test_foobar(page: Page) -> None:
|
def test_foobar(page: Page) -> None:
|
||||||
|
|
|
||||||
|
|
@ -136,13 +136,21 @@ Note that soft assertions only work with Playwright test runner.
|
||||||
|
|
||||||
## Custom expect message
|
## Custom expect message
|
||||||
|
|
||||||
You can specify a custom error message as a second argument to the `expect` function, for example:
|
You can specify a custom expect message as a second argument to the `expect` function, for example:
|
||||||
|
|
||||||
```js
|
```js
|
||||||
await expect(page.getByText('Name'), 'should be logged in').toBeVisible();
|
await expect(page.getByText('Name'), 'should be logged in').toBeVisible();
|
||||||
```
|
```
|
||||||
|
|
||||||
The error would look like this:
|
This message will be shown in reporters, both for passing and failing expects, providing more context about the assertion.
|
||||||
|
|
||||||
|
When expect passes, you might see a successful step like this:
|
||||||
|
|
||||||
|
```txt
|
||||||
|
✅ should be logged in @example.spec.ts:18
|
||||||
|
```
|
||||||
|
|
||||||
|
When expect fails, the error would look like this:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
Error: should be logged in
|
Error: should be logged in
|
||||||
|
|
@ -160,7 +168,7 @@ The error would look like this:
|
||||||
6 |
|
6 |
|
||||||
```
|
```
|
||||||
|
|
||||||
The same works with soft assertions:
|
Soft assertions also support custom message:
|
||||||
|
|
||||||
```js
|
```js
|
||||||
expect.soft(value, 'my soft assertion').toBe(56);
|
expect.soft(value, 'my soft assertion').toBe(56);
|
||||||
|
|
@ -191,8 +199,8 @@ await expect.poll(async () => {
|
||||||
const response = await page.request.get('https://api.example.com');
|
const response = await page.request.get('https://api.example.com');
|
||||||
return response.status();
|
return response.status();
|
||||||
}, {
|
}, {
|
||||||
// Custom error message, optional.
|
// Custom expect message for reporting, optional.
|
||||||
message: 'make sure API eventually succeeds', // custom error message
|
message: 'make sure API eventually succeeds',
|
||||||
// Poll for 10 seconds; defaults to 5 seconds. Pass 0 to disable timeout.
|
// Poll for 10 seconds; defaults to 5 seconds. Pass 0 to disable timeout.
|
||||||
timeout: 10000,
|
timeout: 10000,
|
||||||
}).toBe(200);
|
}).toBe(200);
|
||||||
|
|
|
||||||
|
|
@ -22,8 +22,8 @@ test('soft expects should compile', async ({ runTSC }) => {
|
||||||
import { test, expect } from '@playwright/test';
|
import { test, expect } from '@playwright/test';
|
||||||
test('should work', () => {
|
test('should work', () => {
|
||||||
test.expect.soft(1+1).toBe(3);
|
test.expect.soft(1+1).toBe(3);
|
||||||
test.expect.soft(1+1, 'custom error message').toBe(3);
|
test.expect.soft(1+1, 'custom expect message').toBe(3);
|
||||||
test.expect.soft(1+1, { message: 'custom error message' }).toBe(3);
|
test.expect.soft(1+1, { message: 'custom expect message' }).toBe(3);
|
||||||
});
|
});
|
||||||
`
|
`
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -70,26 +70,26 @@ test('should not expand huge arrays', async ({ runInlineTest }) => {
|
||||||
expect(result.output.length).toBeLessThan(100000);
|
expect(result.output.length).toBeLessThan(100000);
|
||||||
});
|
});
|
||||||
|
|
||||||
test('should include custom error message', async ({ runInlineTest }) => {
|
test('should include custom expect message', async ({ runInlineTest }) => {
|
||||||
const result = await runInlineTest({
|
const result = await runInlineTest({
|
||||||
'expect-test.spec.ts': `
|
'expect-test.spec.ts': `
|
||||||
import { test, expect } from '@playwright/test';
|
import { test, expect } from '@playwright/test';
|
||||||
test('custom expect message', () => {
|
test('custom expect message', () => {
|
||||||
test.expect(1+1, 'one plus one is two!').toEqual(3);
|
test.expect(1+1, 'one plus one should be two!').toEqual(3);
|
||||||
});
|
});
|
||||||
`
|
`
|
||||||
});
|
});
|
||||||
expect(result.exitCode).toBe(1);
|
expect(result.exitCode).toBe(1);
|
||||||
expect(result.passed).toBe(0);
|
expect(result.passed).toBe(0);
|
||||||
expect(result.output).toContain([
|
expect(result.output).toContain([
|
||||||
` Error: one plus one is two!\n`,
|
` Error: one plus one should be two!\n`,
|
||||||
` expect(received).toEqual(expected) // deep equality\n`,
|
` expect(received).toEqual(expected) // deep equality\n`,
|
||||||
` Expected: 3`,
|
` Expected: 3`,
|
||||||
` Received: 2`,
|
` Received: 2`,
|
||||||
].join('\n'));
|
].join('\n'));
|
||||||
});
|
});
|
||||||
|
|
||||||
test('should include custom error message with web-first assertions', async ({ runInlineTest }) => {
|
test('should include custom expect message with web-first assertions', async ({ runInlineTest }) => {
|
||||||
const result = await runInlineTest({
|
const result = await runInlineTest({
|
||||||
'expect-test.spec.ts': `
|
'expect-test.spec.ts': `
|
||||||
import { test, expect } from '@playwright/test';
|
import { test, expect } from '@playwright/test';
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue