From 36f3e20689a9531f9724564fbedf42068d92c271 Mon Sep 17 00:00:00 2001 From: Remi Rousselet Date: Sat, 16 Mar 2024 16:54:31 +0100 Subject: [PATCH] Update docs --- website/docs/essentials/testing.mdx | 8 +------ .../testing/auto_dispose_listen.dart | 4 +--- .../docs/essentials/testing/await_future.dart | 4 +--- .../essentials/testing/create_container.dart | 22 ------------------- .../essentials/testing/listen_provider.dart | 4 +--- .../essentials/testing/mock_provider.dart | 5 ++--- .../essentials/testing/notifier_usage.dart | 4 ++-- .../docs/essentials/testing/unit_test.dart | 4 +--- .../current/essentials/testing.mdx | 8 ------- .../current/essentials/testing.mdx | 7 ------ .../current/essentials/testing.mdx | 9 -------- 11 files changed, 9 insertions(+), 70 deletions(-) delete mode 100644 website/docs/essentials/testing/create_container.dart diff --git a/website/docs/essentials/testing.mdx b/website/docs/essentials/testing.mdx index 54cbfb579..1733bbf1b 100644 --- a/website/docs/essentials/testing.mdx +++ b/website/docs/essentials/testing.mdx @@ -4,7 +4,6 @@ version: 2 --- import { AutoSnippet, When } from "/src/components/CodeSnippet"; -import createContainer from "!!raw-loader!./testing/create_container.dart"; import unitTest from "!!raw-loader!./testing/unit_test.dart"; import widgetTest from "!!raw-loader!./testing/widget_test.dart"; import fullWidgetTest from "!!raw-loader!./testing/full_widget_test.dart"; @@ -47,12 +46,7 @@ The main difference with any other test is that we will want to create a `ProviderContainer` object. This object will enable our test to interact with providers. -It is encouraged to make a testing utility for both creating and disposing -of a `ProviderContainer` object: - - - -Then, we can define a `test` using this utility: +A typical test using `ProviderContainer` will look like: diff --git a/website/docs/essentials/testing/auto_dispose_listen.dart b/website/docs/essentials/testing/auto_dispose_listen.dart index 2e927683c..2b9289807 100644 --- a/website/docs/essentials/testing/auto_dispose_listen.dart +++ b/website/docs/essentials/testing/auto_dispose_listen.dart @@ -3,13 +3,11 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:riverpod/riverpod.dart'; -import 'create_container.dart'; - final provider = Provider((_) => 'Hello world'); void main() { test('Some description', () { - final container = createContainer(); + final container = ProviderContainer.test(); /* SNIPPET START */ final subscription = container.listen(provider, (_, __) {}); diff --git a/website/docs/essentials/testing/await_future.dart b/website/docs/essentials/testing/await_future.dart index 000f775d5..b9e593aea 100644 --- a/website/docs/essentials/testing/await_future.dart +++ b/website/docs/essentials/testing/await_future.dart @@ -3,15 +3,13 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:riverpod/riverpod.dart'; -import 'create_container.dart'; - final provider = FutureProvider((_) async => 42); void main() { test('Some description', () async { // Create a ProviderContainer for this test. // DO NOT share ProviderContainers between tests. - final container = createContainer(); + final container = ProviderContainer.test(); /* SNIPPET START */ // TODO: use the container to test your application. diff --git a/website/docs/essentials/testing/create_container.dart b/website/docs/essentials/testing/create_container.dart deleted file mode 100644 index 1a776329a..000000000 --- a/website/docs/essentials/testing/create_container.dart +++ /dev/null @@ -1,22 +0,0 @@ -import 'package:riverpod/riverpod.dart'; -import 'package:test/test.dart'; - -/// A testing utility which creates a [ProviderContainer] and automatically -/// disposes it at the end of the test. -ProviderContainer createContainer({ - ProviderContainer? parent, - List overrides = const [], - List? observers, -}) { - // Create a ProviderContainer, and optionally allow specifying parameters. - final container = ProviderContainer( - parent: parent, - overrides: overrides, - observers: observers, - ); - - // When the test ends, dispose the container. - addTearDown(container.dispose); - - return container; -} diff --git a/website/docs/essentials/testing/listen_provider.dart b/website/docs/essentials/testing/listen_provider.dart index d2e840d9b..2e789c6fb 100644 --- a/website/docs/essentials/testing/listen_provider.dart +++ b/website/docs/essentials/testing/listen_provider.dart @@ -3,13 +3,11 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:riverpod/riverpod.dart'; -import 'create_container.dart'; - final provider = Provider((_) => 'Hello world'); void main() { test('Some description', () { - final container = createContainer(); + final container = ProviderContainer.test(); /* SNIPPET START */ container.listen( provider, diff --git a/website/docs/essentials/testing/mock_provider.dart b/website/docs/essentials/testing/mock_provider.dart index 3607715b2..ec33b6826 100644 --- a/website/docs/essentials/testing/mock_provider.dart +++ b/website/docs/essentials/testing/mock_provider.dart @@ -3,7 +3,6 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'create_container.dart'; import 'full_widget_test.dart'; import 'provider_to_mock/raw.dart'; @@ -13,8 +12,8 @@ void main() { const ProviderScope(child: YourWidgetYouWantToTest()), ); /* SNIPPET START */ - // In unit tests, by reusing our previous "createContainer" utility. - final container = createContainer( + // In unit tests, containers are created using `ProviderContainer.test`. + final container = ProviderContainer.test( // We can specify a list of providers to mock: overrides: [ // In this case, we are mocking "exampleProvider". diff --git a/website/docs/essentials/testing/notifier_usage.dart b/website/docs/essentials/testing/notifier_usage.dart index 687c9715b..606e8dea8 100644 --- a/website/docs/essentials/testing/notifier_usage.dart +++ b/website/docs/essentials/testing/notifier_usage.dart @@ -1,14 +1,14 @@ // ignore_for_file: unused_local_variable import 'package:flutter_test/flutter_test.dart'; +import 'package:riverpod_annotation/riverpod_annotation.dart'; -import 'create_container.dart'; import 'notifier_mock/codegen.dart'; /* SNIPPET START */ void main() { test('Some description', () { - final container = createContainer( + final container = ProviderContainer.test( // Override the provider to have it create our mock Notifier. overrides: [myNotifierProvider.overrideWith(MyNotifierMock.new)], ); diff --git a/website/docs/essentials/testing/unit_test.dart b/website/docs/essentials/testing/unit_test.dart index 924d6ac23..542491370 100644 --- a/website/docs/essentials/testing/unit_test.dart +++ b/website/docs/essentials/testing/unit_test.dart @@ -3,8 +3,6 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:riverpod/riverpod.dart'; -import 'create_container.dart'; - final provider = Provider((_) => 42); /* SNIPPET START */ @@ -12,7 +10,7 @@ void main() { test('Some description', () { // Create a ProviderContainer for this test. // DO NOT share ProviderContainers between tests. - final container = createContainer(); + final container = ProviderContainer.test(); // TODO: use the container to test your application. expect( diff --git a/website/i18n/it/docusaurus-plugin-content-docs/current/essentials/testing.mdx b/website/i18n/it/docusaurus-plugin-content-docs/current/essentials/testing.mdx index d9ff23e0b..0e8fb6e51 100644 --- a/website/i18n/it/docusaurus-plugin-content-docs/current/essentials/testing.mdx +++ b/website/i18n/it/docusaurus-plugin-content-docs/current/essentials/testing.mdx @@ -3,7 +3,6 @@ title: Testare i tuoi provider --- import { AutoSnippet, When } from "../../../../../src/components/CodeSnippet"; -import createContainer from "!!raw-loader!/docs/essentials/testing/create_container.dart"; import unitTest from "!!raw-loader!/docs/essentials/testing/unit_test.dart"; import widgetTest from "!!raw-loader!/docs/essentials/testing/widget_test.dart"; import fullWidgetTest from "!!raw-loader!/docs/essentials/testing/full_widget_test.dart"; @@ -43,13 +42,6 @@ I test unitari sono definit usando la funzione `test` da [package:test](https:// La differenza principale con qualsiasi altro test è che creeremo un oggetto `ProviderContainer`. Questo oggetto permetterà al nostro test di interagire con i provider -Si consiglia di creare un'utilità di test sia per la creazione che per l'eliminazione -di un oggetto `ProviderContainer`: - - - -Successivamente, possiamo definire un `test` utilizzando questa utilità: - Ora che abbiamo un ProviderContainer possiamo utilizzarlo per leggere i provider usando: diff --git a/website/i18n/ko/docusaurus-plugin-content-docs/current/essentials/testing.mdx b/website/i18n/ko/docusaurus-plugin-content-docs/current/essentials/testing.mdx index f4b868df7..405186891 100644 --- a/website/i18n/ko/docusaurus-plugin-content-docs/current/essentials/testing.mdx +++ b/website/i18n/ko/docusaurus-plugin-content-docs/current/essentials/testing.mdx @@ -3,7 +3,6 @@ title: providers 테스트하기 --- import { AutoSnippet, When } from "../../../../../src/components/CodeSnippet"; -import createContainer from "!!raw-loader!/docs/essentials/testing/create_container.dart"; import unitTest from "!!raw-loader!/docs/essentials/testing/unit_test.dart"; import widgetTest from "!!raw-loader!/docs/essentials/testing/widget_test.dart"; import fullWidgetTest from "!!raw-loader!/docs/essentials/testing/full_widget_test.dart"; @@ -41,12 +40,6 @@ Riverpod로 테스트를 정의할 때는 크게 두 가지 시나리오가 있 다른 테스트와 가장 큰 차이점은 `ProviderContainer` 객체를 생성한다는 점입니다. 이 객체를 사용하면 테스트가 provider와 상호 작용할 수 있습니다. -`ProviderContainer` 객체를 생성하고 폐기하기 위한 테스트 유틸리티를 만드는 것이 좋습니다: - - - -그런 다음 이 유틸리티를 사용하여 `test`를 정의할 수 있습니다: - 이제 ProviderContainer가 생겼으니 이를 사용하여 provider를 읽을 수 있습니다: diff --git a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/essentials/testing.mdx b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/essentials/testing.mdx index 670e5e237..c92da6863 100644 --- a/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/essentials/testing.mdx +++ b/website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/essentials/testing.mdx @@ -3,7 +3,6 @@ title: 测试你的提供者程序 --- import { AutoSnippet, When } from "@site/src/components/CodeSnippet"; -import createContainer from "!!raw-loader!/docs/essentials/testing/create_container.dart"; import unitTest from "!!raw-loader!/docs/essentials/testing/unit_test.dart"; import widgetTest from "!!raw-loader!/docs/essentials/testing/widget_test.dart"; import fullWidgetTest from "!!raw-loader!/docs/essentials/testing/full_widget_test.dart"; @@ -81,14 +80,6 @@ with providers. 与任何其他测试的主要区别在于,我们想要创建一个 `ProviderContainer` 对象。 此对象将使我们的测试能够与提供者程序进行交互。 - -建议创建一个测试实用程序来创建和处置对象 `ProviderContainer`: - - -