From 42c67cae16c8feba5b9619f4a8190604343f64a8 Mon Sep 17 00:00:00 2001 From: Vatsa Shah Date: Mon, 15 Apr 2024 22:29:09 -0400 Subject: [PATCH 1/8] docs: Added the docs for GettingStartedWithTests --- .../getting-started/GeneratedTargets-min.png | Bin 0 -> 26900 bytes .../GettingStartedWithTests.md | 66 ++++++++++++++++++ .../ProjectStructure-Tests-min.png | Bin 0 -> 29526 bytes .../getting-started/TestExplorer-min.png | Bin 0 -> 16610 bytes 4 files changed, 66 insertions(+) create mode 100644 doc/articles/getting-started/GeneratedTargets-min.png create mode 100644 doc/articles/getting-started/GettingStartedWithTests.md create mode 100644 doc/articles/getting-started/ProjectStructure-Tests-min.png create mode 100644 doc/articles/getting-started/TestExplorer-min.png diff --git a/doc/articles/getting-started/GeneratedTargets-min.png b/doc/articles/getting-started/GeneratedTargets-min.png new file mode 100644 index 0000000000000000000000000000000000000000..dcea1cef3ff594cee1c346a908e2bf657be631e6 GIT binary patch literal 26900 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≺+0Y)9#UBg{4i=Sv@vZQa-Gw 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 [!TIP] +> If the 'Run Tests' menu item doesn't exist, you need to Rebuild the solution to get Visual Studio to detect the available tests. + +### 4. Running the UI tests + +* As demonstrated on step 3, select the **WebAssembly** target from the drop-down. + +* Press Ctrl + F5 to start the WASM project without debugging. + +* Once the application is compiled, it will launch inside your default browser. Take note of the URL which should look something like this: https://localhost:5000/Main + +* Find the project *Tests\\MyProjectName.UI.Tests* and locate the *Constants.cs* file. + +* Open *Constants.cs* and update the WebAssemblyDefaultUri constant. + + It should appear similar to this: + + ```cs + public readonly static string WebAssemblyDefaultUri = "https://localhost:5000/"; + ``` + +* Go back to the project *Tests\\MyProjectName.UI.Tests* and right click. Then, *Run Tests*. + + ![Test Explorer in VS](TestExplorer-min.png) + +### 6. Running the Server + +* Set the MyProjectName.Server project as the startup project. + +* Start the server by pressing F5 which will host your backend services. \ No newline at end of file diff --git a/doc/articles/getting-started/ProjectStructure-Tests-min.png b/doc/articles/getting-started/ProjectStructure-Tests-min.png new file mode 100644 index 0000000000000000000000000000000000000000..6339d2a5a9b56794942d957d16d9197cfa90e86c GIT binary patch literal 29526 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 literal 0 HcmV?d00001 From f4bbf6e0e58d5f30c1b67005d5545279d8480746 Mon Sep 17 00:00:00 2001 From: eriklimakc Date: Tue, 16 Apr 2024 12:12:03 +0100 Subject: [PATCH 2/8] docs: Adjust structure and image folder --- .../{ => Assets}/GeneratedTargets-min.png | Bin .../ProjectStructure-Tests-min.png | Bin .../{ => Assets}/TestExplorer-min.png | Bin .../GettingStartedWithTests.md | 29 ++++++++---------- 4 files changed, 12 insertions(+), 17 deletions(-) rename doc/articles/getting-started/{ => Assets}/GeneratedTargets-min.png (100%) rename doc/articles/getting-started/{ => Assets}/ProjectStructure-Tests-min.png (100%) rename doc/articles/getting-started/{ => Assets}/TestExplorer-min.png (100%) diff --git a/doc/articles/getting-started/GeneratedTargets-min.png b/doc/articles/getting-started/Assets/GeneratedTargets-min.png similarity index 100% rename from doc/articles/getting-started/GeneratedTargets-min.png rename to doc/articles/getting-started/Assets/GeneratedTargets-min.png diff --git a/doc/articles/getting-started/ProjectStructure-Tests-min.png b/doc/articles/getting-started/Assets/ProjectStructure-Tests-min.png similarity index 100% rename from doc/articles/getting-started/ProjectStructure-Tests-min.png rename to doc/articles/getting-started/Assets/ProjectStructure-Tests-min.png diff --git a/doc/articles/getting-started/TestExplorer-min.png b/doc/articles/getting-started/Assets/TestExplorer-min.png similarity index 100% rename from doc/articles/getting-started/TestExplorer-min.png rename to doc/articles/getting-started/Assets/TestExplorer-min.png diff --git a/doc/articles/getting-started/GettingStartedWithTests.md b/doc/articles/getting-started/GettingStartedWithTests.md index a9ffb90405c8..8d42fd5d2ae3 100644 --- a/doc/articles/getting-started/GettingStartedWithTests.md +++ b/doc/articles/getting-started/GettingStartedWithTests.md @@ -4,29 +4,30 @@ uid: Uno.Authoring.Tests # How-To: Creating an application with tests using Uno.Extensions This tutorial will walk through how to create an Uno application with the `dotnet new` tool, which is already configured to use the Uno.Extensions. - -## Step-by-steps - -### 1. Exploring the Solution + +> [!NOTE] +> Make sure to setup your environment first by [following our instructions](xref:Uno.GetStarted.vs2022). + +## 1. Exploring the Solution The generated solution will contain: -* *MyProjectName* - for application logic, and other constructs like view models and services, as well as the pages, controls and other views that make up the UI of the application. +* *MyProjectName* - for application logic, and other constructs like view models and services, as well as the pages, controls, and other views that make up the UI of the application. * *MyProjectName/Platforms* - platform-specific folders for each supported platform. * *MyProjectName.Tests* and *MyProjectName.UI.Tests* - for writing unit and UI tests respectively. * *MyProjectName.Server* - backend server projects. - ![The structure of the generated solution](ProjectStructure-Tests-min.png) +![The structure of the generated solution](Assets/ProjectStructure-Tests-min.png) -### 2. Running the Application +## 2. Running the Application * Select a target from the drop-down as pictured below - ![A screenshot of the generated targets](GeneratedTargets-min.png) + ![A screenshot of the generated targets](Assets/GeneratedTargets-min.png) * Click the "play" button, or press F5 to start debugging. The project will be compiled and deployed based on the target platform. For more detailed instructions specific to each platform, refer to the [Debug the App](xref:Uno.GettingStarted.CreateAnApp.VS2022#debug-the-app) documentation. -### 3. Running the Unit Tests +## 3. Running the Unit Tests * Right click the project inside Tests\\MyProjectName.Tests to open the context menu @@ -37,7 +38,7 @@ The generated solution will contain: > [!TIP] > If the 'Run Tests' menu item doesn't exist, you need to Rebuild the solution to get Visual Studio to detect the available tests. -### 4. Running the UI tests +## 4. Running the UI tests * As demonstrated on step 3, select the **WebAssembly** target from the drop-down. @@ -57,10 +58,4 @@ The generated solution will contain: * Go back to the project *Tests\\MyProjectName.UI.Tests* and right click. Then, *Run Tests*. - ![Test Explorer in VS](TestExplorer-min.png) - -### 6. Running the Server - -* Set the MyProjectName.Server project as the startup project. - -* Start the server by pressing F5 which will host your backend services. \ No newline at end of file + ![Test Explorer in VS](Assets/TestExplorer-min.png) From 6ce0406f32e344e00c69df9304331271994056eb Mon Sep 17 00:00:00 2001 From: Vatsa Shah Date: Tue, 16 Apr 2024 14:40:20 -0400 Subject: [PATCH 3/8] fix: Updated TOC and docs --- doc/articles/getting-started/GettingStartedWithTests.md | 4 +--- doc/articles/toc.yml | 2 ++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/articles/getting-started/GettingStartedWithTests.md b/doc/articles/getting-started/GettingStartedWithTests.md index 8d42fd5d2ae3..d82c5702f75f 100644 --- a/doc/articles/getting-started/GettingStartedWithTests.md +++ b/doc/articles/getting-started/GettingStartedWithTests.md @@ -3,7 +3,7 @@ uid: Uno.Authoring.Tests --- # How-To: Creating an application with tests using Uno.Extensions -This tutorial will walk through how to create an Uno application with the `dotnet new` tool, which is already configured to use the Uno.Extensions. +This tutorial will walk through how to create an Uno application with tests. > [!NOTE] > Make sure to setup your environment first by [following our instructions](xref:Uno.GetStarted.vs2022). @@ -13,9 +13,7 @@ This tutorial will walk through how to create an Uno application with the `dotne The generated solution will contain: * *MyProjectName* - for application logic, and other constructs like view models and services, as well as the pages, controls, and other views that make up the UI of the application. -* *MyProjectName/Platforms* - platform-specific folders for each supported platform. * *MyProjectName.Tests* and *MyProjectName.UI.Tests* - for writing unit and UI tests respectively. -* *MyProjectName.Server* - backend server projects. ![The structure of the generated solution](Assets/ProjectStructure-Tests-min.png) diff --git a/doc/articles/toc.yml b/doc/articles/toc.yml index f55c6910bf40..5b6b626210db 100644 --- a/doc/articles/toc.yml +++ b/doc/articles/toc.yml @@ -155,6 +155,8 @@ items: - name: Using the Uno.SDK href: xref:Uno.Features.Uno.Sdk + - name: Getting Started With Tests + href: xref:Uno.Authoring.Tests - name: Platform-specific C# code href: platform-specific-csharp.md - name: Platform-specific XAML markup From 4449854dcb7370794ac1f56d89796b80aa0aaf53 Mon Sep 17 00:00:00 2001 From: Vatsa Shah Date: Thu, 18 Apr 2024 11:38:51 -0400 Subject: [PATCH 4/8] docs: Renamed the file --- .../{GettingStartedWithTests.md => getting-started-tests.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename doc/articles/getting-started/{GettingStartedWithTests.md => getting-started-tests.md} (97%) diff --git a/doc/articles/getting-started/GettingStartedWithTests.md b/doc/articles/getting-started/getting-started-tests.md similarity index 97% rename from doc/articles/getting-started/GettingStartedWithTests.md rename to doc/articles/getting-started/getting-started-tests.md index d82c5702f75f..4599f859edc1 100644 --- a/doc/articles/getting-started/GettingStartedWithTests.md +++ b/doc/articles/getting-started/getting-started-tests.md @@ -1,7 +1,7 @@ --- uid: Uno.Authoring.Tests --- -# How-To: Creating an application with tests using Uno.Extensions +# How-To: Creating an application with tests This tutorial will walk through how to create an Uno application with tests. From c8df8add12dc77158ceeb7c239ba23a9ad25ed7f Mon Sep 17 00:00:00 2001 From: Vatsa Shah Date: Fri, 19 Apr 2024 11:04:03 -0400 Subject: [PATCH 5/8] docs: Added reference to wizard doc regarding tests --- doc/articles/getting-started/getting-started-tests.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/articles/getting-started/getting-started-tests.md b/doc/articles/getting-started/getting-started-tests.md index 4599f859edc1..6465dc91200f 100644 --- a/doc/articles/getting-started/getting-started-tests.md +++ b/doc/articles/getting-started/getting-started-tests.md @@ -3,7 +3,7 @@ uid: Uno.Authoring.Tests --- # How-To: Creating an application with tests -This tutorial will walk through how to create an Uno application with tests. +This tutorial will walk through how to create an [Uno application with tests](https://platform.uno/docs/articles/getting-started/wizard/using-wizard.html#10-testing). > [!NOTE] > Make sure to setup your environment first by [following our instructions](xref:Uno.GetStarted.vs2022). From c438069ad71e8c016a6aa266c6c1a3af0b366b6b Mon Sep 17 00:00:00 2001 From: Vatsa Shah Date: Fri, 19 Apr 2024 14:55:12 -0400 Subject: [PATCH 6/8] docs: Update docs --- .../getting-started/getting-started-tests.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/articles/getting-started/getting-started-tests.md b/doc/articles/getting-started/getting-started-tests.md index 6465dc91200f..596f63d3891a 100644 --- a/doc/articles/getting-started/getting-started-tests.md +++ b/doc/articles/getting-started/getting-started-tests.md @@ -3,7 +3,7 @@ uid: Uno.Authoring.Tests --- # How-To: Creating an application with tests -This tutorial will walk through how to create an [Uno application with tests](https://platform.uno/docs/articles/getting-started/wizard/using-wizard.html#10-testing). +This tutorial will guide you through the process of creating an [Uno application along with tests](xref:Uno.GettingStarted.UsingWizard#10-testing). > [!NOTE] > Make sure to setup your environment first by [following our instructions](xref:Uno.GetStarted.vs2022). @@ -27,9 +27,9 @@ The generated solution will contain: ## 3. Running the Unit Tests -* Right click the project inside Tests\\MyProjectName.Tests to open the context menu +* In the Solution Explorer within Visual Studio, navigate to the *Tests* folder, and right-click on `MyProjectName.Tests`. -* Select *Run Tests* +* From the context menu that appears, select *Run Tests*. The application will be compiled and the test cases will run. @@ -38,13 +38,13 @@ The generated solution will contain: ## 4. Running the UI tests -* As demonstrated on step 3, select the **WebAssembly** target from the drop-down. +* As demonstrated on step 2, select the **MyProjectName (WebAssembly)** target from the drop-down. * Press Ctrl + F5 to start the WASM project without debugging. * Once the application is compiled, it will launch inside your default browser. Take note of the URL which should look something like this: https://localhost:5000/Main -* Find the project *Tests\\MyProjectName.UI.Tests* and locate the *Constants.cs* file. +* In the Solution Explorer, go to the *Tests* folder, open the `MyProjectName.UI.Tests` project, and locate the Constants.cs file. * Open *Constants.cs* and update the WebAssemblyDefaultUri constant. @@ -54,6 +54,6 @@ The generated solution will contain: public readonly static string WebAssemblyDefaultUri = "https://localhost:5000/"; ``` -* Go back to the project *Tests\\MyProjectName.UI.Tests* and right click. Then, *Run Tests*. +* Go back to the Solution Explorer, navigate to the *Tests* folder, right-click on the `MyProjectName.UI.Tests` project, and then select *Run Tests*. ![Test Explorer in VS](Assets/TestExplorer-min.png) From 604d22784b88f2ac48cc48b0856dbabec299c803 Mon Sep 17 00:00:00 2001 From: Vatsa Shah Date: Fri, 19 Apr 2024 15:01:23 -0400 Subject: [PATCH 7/8] fix: Fixed linting errors --- .../getting-started/getting-started-tests.md | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/doc/articles/getting-started/getting-started-tests.md b/doc/articles/getting-started/getting-started-tests.md index 596f63d3891a..55bcd8c82383 100644 --- a/doc/articles/getting-started/getting-started-tests.md +++ b/doc/articles/getting-started/getting-started-tests.md @@ -2,58 +2,58 @@ uid: Uno.Authoring.Tests --- # How-To: Creating an application with tests - + This tutorial will guide you through the process of creating an [Uno application along with tests](xref:Uno.GettingStarted.UsingWizard#10-testing). > [!NOTE] > Make sure to setup your environment first by [following our instructions](xref:Uno.GetStarted.vs2022). ## 1. Exploring the Solution - + The generated solution will contain: - + * *MyProjectName* - for application logic, and other constructs like view models and services, as well as the pages, controls, and other views that make up the UI of the application. * *MyProjectName.Tests* and *MyProjectName.UI.Tests* - for writing unit and UI tests respectively. - + ![The structure of the generated solution](Assets/ProjectStructure-Tests-min.png) - + ## 2. Running the Application - + * Select a target from the drop-down as pictured below - + ![A screenshot of the generated targets](Assets/GeneratedTargets-min.png) - + * Click the "play" button, or press F5 to start debugging. The project will be compiled and deployed based on the target platform. For more detailed instructions specific to each platform, refer to the [Debug the App](xref:Uno.GettingStarted.CreateAnApp.VS2022#debug-the-app) documentation. - + ## 3. Running the Unit Tests - + * In the Solution Explorer within Visual Studio, navigate to the *Tests* folder, and right-click on `MyProjectName.Tests`. - + * From the context menu that appears, select *Run Tests*. - + The application will be compiled and the test cases will run. - + > [!TIP] > If the 'Run Tests' menu item doesn't exist, you need to Rebuild the solution to get Visual Studio to detect the available tests. - + ## 4. Running the UI tests - + * As demonstrated on step 2, select the **MyProjectName (WebAssembly)** target from the drop-down. - + * Press Ctrl + F5 to start the WASM project without debugging. - + * Once the application is compiled, it will launch inside your default browser. Take note of the URL which should look something like this: https://localhost:5000/Main - + * In the Solution Explorer, go to the *Tests* folder, open the `MyProjectName.UI.Tests` project, and locate the Constants.cs file. - + * Open *Constants.cs* and update the WebAssemblyDefaultUri constant. - + It should appear similar to this: - + ```cs public readonly static string WebAssemblyDefaultUri = "https://localhost:5000/"; ``` - + * Go back to the Solution Explorer, navigate to the *Tests* folder, right-click on the `MyProjectName.UI.Tests` project, and then select *Run Tests*. - + ![Test Explorer in VS](Assets/TestExplorer-min.png) From 9afb40ca1ef6258896fa1694d5e13906e5d36384 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Laban?= Date: Fri, 19 Apr 2024 17:40:20 -0400 Subject: [PATCH 8/8] chore: Adjust references to uno.uitests --- doc/articles/getting-started/getting-started-tests.md | 2 ++ doc/articles/toc.yml | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/doc/articles/getting-started/getting-started-tests.md b/doc/articles/getting-started/getting-started-tests.md index 55bcd8c82383..0bd96437b9d1 100644 --- a/doc/articles/getting-started/getting-started-tests.md +++ b/doc/articles/getting-started/getting-started-tests.md @@ -38,6 +38,8 @@ The generated solution will contain: ## 4. Running the UI tests +UI Tests are using the [Uno.UITest nuget package](xref:Uno.UITest.GetStarted), see the documentation for more information on how to create more UI Tests. + * As demonstrated on step 2, select the **MyProjectName (WebAssembly)** target from the drop-down. * Press Ctrl + F5 to start the WASM project without debugging. diff --git a/doc/articles/toc.yml b/doc/articles/toc.yml index 5b6b626210db..3f07f43039d3 100644 --- a/doc/articles/toc.yml +++ b/doc/articles/toc.yml @@ -155,8 +155,6 @@ items: - name: Using the Uno.SDK href: xref:Uno.Features.Uno.Sdk - - name: Getting Started With Tests - href: xref:Uno.Authoring.Tests - name: Platform-specific C# code href: platform-specific-csharp.md - name: Platform-specific XAML markup @@ -165,6 +163,8 @@ href: guides/how-to-create-control-libraries.md - name: Adding New Platforms href: guides/how-to-add-platforms-existing-project.md + - name: Getting Started With Tests + href: xref:Uno.Authoring.Tests - name: Logging href: logging.md - name: AppManifest (WebAssembly)