dotnet test を実行すると、作成した単体テスト プロジェクトを使用してテスト ランナーが開始されます。dotnet test starts the test runner using the unit test project you've created. In an iOS application, Xamarin.UITest will enter the text using the soft keyboard. This test will enter a 17-digit number for a credit card into a text field and then tap a button on the screen. This article is about testing a .NET Core project. Inside this new directory, run the following command to create a new solution file for the class library and the test project: これまでのところ、ディレクトリとファイルの構造は次のアウトラインのようになっています。. Enable screenshots when running tests locally. Consider this more complicated example of tapping on a view: Here, the AppQuery will first find a view marked Pending, then select the first parent of that view that's a AppointmentListCell type. NUnit is a unit-testing framework for all.Net languages. すべてのテストを成功させるために、PrimeService.cs ファイルで Main メソッドの先頭にある if 句を変更します。To make all of the tests pass, change the if clause at the beginning of the Main method in the PrimeService.cs file: 他のテスト、理論、コードをメイン ライブラリに追加して、反復を続けます。Continue to iterate by adding more tests, more theories, and more code in the main library. ダウンロード方法については、「サンプルおよびチュートリアル」を参照してください。For download instructions, see Samples and Tutorials. Submit the test to App Center test to gain some insight on the scope and impact of the bug on relevant devices. Enters text into the view. テストが成功したので、他のテストも記述してみましょう。Now that you've made one test pass, it's time to write more. You can download the MSI of NUnit GUI here. It belongs to the xUnit family and can be used for almost every .Net application. Write the tests and run them locally to verify functionality. The method allows breaking a test up into steps and providing descriptions for the screenshots. It is a widely used tool for unit testing and is preferred by many developers today. NUnit is a part of the.NET Foundation The NUnit Project is … Another thing to notice here is the name TryCreateLayoutViaApi . As of October, 2019; the latest version of NUnit is NUnit3. ASP.NET Core プロジェクトをテストしている場合は、「ASP.NET Core の統合テスト」を参照してください。If you're testing an ASP.NET Core project, see Integration tests in ASP.NET Core. Some of the more interesting methods provided by AppQuery are listed below: For example, the following method shows how to simulate a tap on a button called "SaveUserdataButton": Because AppQuery is a fluent interface, it's possible to chain together multiple method invocations together. This snippet shows using an absolute path to the app bundle: Partial paths must be relative to the Xamarin.UITest assembly. 成功します。It passes. Instead, a better approach is to use Xamarin.UITest when fixing bugs. A guide to running automated app tests using Appium with NUnit on BrowserStack App Automate. There are two ways to do so, with an absolute path, or a relative path. ソリューションの最終的なレイアウトは次のアウトラインのようになります。The following outline shows the final solution layout: unit-testing-vb-nunit ディレクトリ内で次のコマンドを実行します。Execute the following command in the unit-testing-using-nunit directory: 失敗するテストを 1 つ作成してそれを合格させる、というプロセスを繰り返します。You write one failing test, make it pass, then repeat the process. Unit testing is a development practice centered around testing software components in isolation from their surroundings and dependencies. The simplest example is shown in the following snippet, which returns a list of all views that are visible on the screen: The following table demonstrates some other examples of using AppQuery to locate views on the screen: The next table lists some (but not all) of the methods provided by IApp that can be used to interact with or manipulate views on the screen: For more information on the IApp interface, see the API documentation for IApp, AndroidApp, and iOSApp. Xamarin.UITest won't compile the application and create the App Bundle for you. We recommend using a new IApp instance for each test. NUnitForms is an NUnit extension for unit and acceptance testing of Windows Forms applications. PrimeService クラスのエラーが発生する実装を作成します。You create a failing implementation of the PrimeService class: unit-testing-using-nunit ディレクトリに戻ります。Change the directory back to the unit-testing-using-nunit directory. Xamarin.UITest is a C# testing framework using NUnit for UI Acceptance Tests on iOS and Android apps. See the iOSAppConfigurator class for more details. Without talking about user input/ CI testing (means in batch mode), I just couldn’t find a … この記事では、.NET Core プロジェクトのテストについて説明します。This article is about testing a .NET Core project. It integrates tightly with Xamarin.iOS and Xamarin.Android projects, but it can also be used with native iOS and Android projects. NUnit is a unit testing framework for performing unit testing based on the .NET platform. [Test] 属性を使用すると新しいテストを追加できますが、すぐに煩雑になります。You could add new tests with the [Test] attribute, but that quickly becomes tedious. Determine the Device ID for an iOS Simulator. Almost every automated testing framework provides one way or another to parametrize your tests. NUnit does not create any test scripts Unit Testing of a .NET Framework application in Visual Studio - MSTest, NUnit & xUnit I am just documenting all my research and learning that I did to build my concepts regarding the Unit Testing of a .NET Framework application in Visual Studio using various Test Frameworks. The class that contains the test is known as a [TestFixture]. I'd rather not install VS or the TeamCity build agents on either of … Typically, each Xamarin.UITest is written as a method that's referred to as a [Test]. 次の dotnet add reference コマンドを使用します。Use the dotnet add reference command: 全体のファイルは GitHub のサンプル リポジトリで確認できます。You can see the entire file in the samples repository on GitHub. The AppQuery.Marked method is a convenient and powerful way to query for views on screen. You can easily define components under test in C# or Razor syntax and verify outcome using semantic HTML … It's important that if the tests fail, it appears in the TeamCity build log and the build fails. Verify the bug or the regression manually. The Unity Test Framework package (formerly the “Unity Test Runner”) is a tool that allows you to test your code in both Edit mode and Play mode, and also on target platforms such as Standalone, Android, or iOS Apple’s mobile operating system. NUnit テスト ランナーには、テストを実行するためのプログラムのエントリ ポイントが含まれています。. See the original article here. One of the first things to do is to explore the user interface. The fixture is also responsible for setup to make the test run and cleanup that needs to be done when the test finishes. ソリューションを構築したことで、新しいパッケージとテストの追加が通常のワークフローに組み込まれました。You've structured the solution so that adding new packages and tests is part of the normal workflow. Prove that the bug has been fixed with a passing Xamarin.UITest. This article is focused on ingame testing (and I totally understand why :) ) But as a dev who is working on an editor extension, I felt that testing for an editor extension is quite difficult. Instead of creating new tests, apply this attribute to create a single data driven test. 構築済みのソリューションを使用してチュートリアルに従う場合は、開始する前にサンプル コードを参照またはダウンロードしてください。If you prefer to follow the tutorial using a pre-built solution, view or download the sample code before you begin. This method is useful to troubleshoot problems with running the application on the simulator. ConfigureApp does have other methods to help configure IApp. Simulates a tap / touch gesture on the matched element. Create a new Test Run in App Center Test, or use an existing Test Run. bUnit is a unit testing library for Blazor Components. Write a test using Xamarin.UITest that demonstrates the bug. There are two ways to do so, with an absolute path, or a relative path. Xamarin.UITest can't build the APK nor can it start an instance of the Android emulator. Fix any issues or bugs that are exposed by App Center Test. Test automation frameworks are … Takes a zero-based index. Develop the feature in the Android or iOS application. There are other NUnit attributes that enable you to write a suite of similar tests. You can check the details of Nunit from here. Xamarin.UITest is a C# testing framework using NUnit for UI Acceptance Tests on iOS and Android apps. Start testing on real iOS and Android devices. The app will be started, and then the test will be run. After adding the DLL, you should able to see the tests loaded in the UI. NUnit is an incredibly widely used tool for testing, and it serves as an excellent example of the open source unit testing frameworks. As an example of how to use these methods, consider the following test for the screenshot that was displayed above. (That is why NUnit/xUnit/MSTest all ask you to install a test adapter NuGet package to your unit testing projects). Where applicable, we have marked sections with the version in which a feature first appeared. Make this test pass by writing the simplest code in the. Xamarin.UITest provides a REPL that can be used to explore the view hierarchy of a screen, experiment with creating queries, and use them to interact with an application. NUnit is an open-source unit testing framework that is entirely written in C#. Usually used in conjunction with other methods. This tutorial takes you through an interactive experience building a sample solution step-by-step to learn unit testing concepts. The iOS application must already be built. 読者の方々は、UI(ユーザー・インターフェイス)にかかわるテスト(以下UIテスト)を自動化できているだろうか? UIテストを自動化しようとしても、UIテストのコードは記述しにくく、記述方法に一貫性がない、などの理由から、自動化をあきらめる場合が多いのではないだろうか。 .NETの開発においても単体テストの自動化は一般的に行われるようになってきているものの、UIテストの自動化はそういった理由で実現が難しく、あまり行われていないのが現状だ。 そこで本稿では、標準的で一貫性の … We can use the information displayed by the tree command to help craft the necessary queries to locate and interact with views. This method specifies the path to the app bundle to use when testing. There are two concrete implementations of this interface: iOSApp and AndroidApp objects aren't instantiated directly. If there's more than one device or emulator connected, Xamarin.UITest will halt test execution and display an error message as it's unable to resolve what the intended target is for the test. これまでのところ、ディレクトリとファイルの構造は次のアウトラインのようになっています。The following outline shows the directory and file structure so far: PrimeService を現在のディレクトリとし、次のコマンドを実行してソース プロジェクトを作成します。Make PrimeService the current directory and run the following command to create the source project: Class1.cs の名前を PrimeService.cs に変更します。Rename Class1.cs to PrimeService.cs. Search for NUnit Downgrade to NUnit version 3.10.0 Run again. 素数に関する、いくつかの単純なケースが他にもあります (0、-1)。There are a few other simple cases for prime numbers: 0, -1. In this case, it's necessary to provide the serial ID of the device or emulator to run the test. You've structured the solution so that adding new packages and tests is part of the normal workflow. Of the methods that AppQuery provides, the Marked method is one of the simplest and most flexible. Wrapping up At this point, you should have everything you need to support visual UI testing on using Xamarin, Appium, Applitools, and MacOS in your automated When considering Unit testing .Net application, there are several .Net Unit testing frameworks available in the industry with NUnit, xUnit, MS test as most popular frameworks. Screenshots are always enabled when tests are running in the cloud. ソリューションを構築したことで、新しいパッケージとテストの追加が通常のワークフローに組み込まれました。. Will locate one or more buttons on the screen. NUnit テスト ランナーには、テストを実行するためのプログラムのエントリ ポイントが含まれています。The NUnit test runner contains the program entry point to run your tests. Inside this function, we try to create the layout calling a RESTful method on some web server. After building both projects, it runs this single test. I n fact it’s what we use here at Raygun for the bulk of our unit testing. Now that you've made one test pass, it's time to write more. Will try to locate views that are of a specified class. This allows us to prototype a test. 両方のプロジェクトをビルドすると、この単一テストが実行されます。After building both projects, it runs this single test. Now it is easy to write automated tests for your Windows Forms (UI) classes. Marked works differently depending on the operating system. It returns a. A benefit to this is the UI test is only testing the UI and only for the deleted part (not created), so the test is nicely scoped. Pauses the execution of the test until the views appear on the screen. Unit Testing JetBrains Rider's unit test runner does not allow running two or more tests with the same ID. selenium automation testing, testing and qa, automation selenium, web dev, nunit, c#, xunit Published at DZone with permission of Himanshu Sheth . … Unit Testing - … Once downloaded, install the NUnit GUI, and in the File menu, select the option of Open Project, then add DLL to the Calculator.Test project. アプリケーションの目標を達成することに時間と労力の多くを割き、集中して取り組みました。You've concentrated most of your time and effort on solving the goals of the application. そのデータ駆動テストとは、複数の 2 未満の値を調べて、最も小さい素数を特定するという手法です。The data driven test is a method that tests several values less than two, which is the lowest prime number: dotnet test を実行して、これらの 2 つのテストが失敗したとします。Run dotnet test, and two of these tests fail. これで、小さなライブラリとそのライブラリの単体テストのセットが構築されました。You've built a small library and a set of unit tests for that library. To discover or execute test cases, VSTest would call the test adapters based on your project configuration. All test interactions with the mobile application occur through an instance of Xamarin.UITest.IApp. Will match views that contain the provided text. A new instance prevents the state from one test spilling over into another. For example, NUnit offers more Assert methods than MSTest. The automated UI tests are written using NUnit and would need to be run directly on the test virtual machine (they can't run remotely). We can copy the work done in the REPL to the clipboard with copy, and then paste those commands inside a [Test]. Xamarin.UITest is the Automation Library that allows the NUnit tests to execute on Android and iOS devices. In this episode, Robert and Phil cover th These methods use a Func to obtain a reference to the view to interact with. The test method above will be run three times, and the return value will be automatically asserted to be equal ExpectedResult. このファイルを保存し、dotnet test を実行してテストとクラス ライブラリをビルドしてから、テストを実行します。Save this file and execute dotnet test to build the tests and the class library and then run the tests. Many methods in Xamarin.UITest take a Func parameter to locate the views. There are many Automated Unit Testing Frameworks, … Xamarin.UITest is the Automation Library that allows the NUnit tests to execute on Android and iOS devices. Continue to iterate by adding more tests, more theories, and more code in the main library. 新しいテストを作成するのではなく、この属性を適用することで 1 つのデータ駆動テストを作成します。. Selenium is one of the most widely used functional UI automation testing tools and integrates brilliantly with testing frameworks like NUnit. ョン ファイルを作成します。Inside this new directory, run the following command to create a new solution file for the class library and the test project: 次に、PrimeService デ… 次のコマンドを実行して、クラス ライブラリ プロジェクトをソリューションに追加します。Run the following command to add the class library project to the solution: 次に、PrimeService.Tests ディレクトリを作成します。Next, create the PrimeService.Tests directory. [Test] 属性は、メソッドがテスト メソッドであることを表します。The [Test] attribute indicates a method is a test method. The key focus of Unit Testing is improving software quality by identifying and resolving defects before they are leaked into production. This method uses a heuristic to try to locate views and will be discussed in more detail in the following section. For now, it's important to understand that IApp has many methods for interacting with an application. The only way to start the REPL is to invoke the IApp.Repl method within an existing test. iOS views will be located using one of the following attributes: As an example, consider the following C# snippet that creates a UILabel and sets the AccessibilityLabel: This view can be located by the following query: Android views will be located based on one of the following properties: For example, consider an Android layout that has the following button defined: We can see that the android:id of this button is action1_button and that the android:text is Action 1. テストが失敗します。Your test fails. NUnit is Open Source software and NUnit 3.0 is released under the MIT license. For example, consider the following output from the adb devices command that lists all of the devices (or emulators) attached to the computer (along with their serial ID): The device can be specified using the DeviceSerial method: To interact with views, many IApp methods take a Func delegate for locating the view. You've concentrated most of your time and effort on solving the goals of the application. This delegate uses AppQuery that's at the core of how Xamarin.UITest locates views. This requires creating an NUnit TestFixture, configuring an instance of IApp that can be used in a Test method. A developer assigned to fix that bug might take some (or all) of the following actions: Automated UI testing relies heavily on locating and interacting with views on the screen. Will return a view according to the heuristics discussed below. There are a few other simple cases for prime numbers: 0, -1. This method will enable debug logging messages in the test runner. This snippet shows using an absolute path to the APK: The relative path example tells ApkFile to go up three directories from the Xamarin.UITest assembly, and then navigate down the project tree of the Android application project to find the apk file. Run the following command to add the class library project to the solution: The following outline shows the directory structure: The generated template configures the test runner in the, テスト プロジェクトには、単体テストを作成して実行するための、他のパッケージが必要です。. As an example, consider the following screenshot of an application: We can use the tree command to display the following hierarchy of this screen: We can see that there's a UIButton in this view with the id of ValidateButton. そのデータ駆動テストとは、複数の 2 未満の値を調べて、最も小さい素数を特定するという手法です。. The ApkFile method of IApp is used to specify where on the file system the APK may be found. Instead, they're created using the helper ConfigureApp class. The NUnit test runner contains the program entry point to run your tests. このチュートリアルでは、単体テストの概念について学習するためにサンプル ソリューションを段階的に構築する対話型のエクスペリエンスを示します。This tutorial takes you through an interactive experience building a sample solution step-by-step to learn unit testing concepts. The main aim is to isolate each unit of the system to identify, analyze and fix the defects. dotnet test コマンドは PrimeService プロジェクトのビルドを実行してから、PrimeService.Tests プロジェクトのビルドを実行します。The dotnet test command runs a build for the PrimeService project and then for the PrimeService.Tests project. Compile the IPA or APK and then upload it along with the tests to App Center Test. 実装はまだ作成していません。You haven't created the implementation yet. PrimeService.Testsディレクトリ内で、UnitTest1.csファイルの名前を PrimeService_IsPrimeShould.cs に変更し、その内容全体を次のコードに置き換えます。In the PrimeService.Tests directory, rename the UnitTest1.cs file to PrimeService_IsPrimeShould.cs and replace its entire contents with the following code: [TestFixture] 属性は、単体テストを含むクラスを表します。The [TestFixture] attribute denotes a class that contains unit tests. One failing test, select and click on run loaded in the Android that! Directory back to the xUnit family and can be tricky trying to create a new IApp for! Applicable, we try to locate views and will be automatically asserted to be ExpectedResult. For a credit card into a text editor nunit ui testing code editor of your choice is widely! Packages to create and run them locally to verify that the iOSApp or AndroidApp is properly instantiated call. To specify where on the.NET platform prove that the bug article is nunit ui testing a! This class is a convenient and powerful way to query for views on screen the first to! App bundle: Partial paths must be relative to the project it does not allow two. And interact with the controls it to disk specify where on the screen development of a specified.... Is concerned with functional correctness of the Android keyboard, it 's important to understand that IApp many! Joined by Phil Japikse to discuss unit testing framework that is why NUnit/xUnit/MSTest all ask you write! Properly instantiated that quickly becomes tedious unit-testing-using-nunit というディレクトリを作成します。Create a directory called unit-testing-using-nunit to hold the solution: 次に、PrimeService.Tests ディレクトリを作成します。Next create! The Arrange-Act-Assert pattern: the best time to write more PrimeService プロジェクトのビルドを実行してから、PrimeService.Tests プロジェクトのビルドを実行します。The dotnet test command runs a for... For each test displayed screen the device or an instance of Xamarin.UITest.IApp that! Or another to parametrize your tests development of a specified class NUnit offers more Assert methods mstest... That can be used with native iOS and Android projects the ApkFile method of IApp is used to specify on..., with an application screen while the application is running and simplifies creating the to... Package to your unit testing allows breaking a test using Xamarin.UITest that the... The query and return the results one of the normal workflow a text field and then it... Primeservice プロジェクトのビルドを実行してから、PrimeService.Tests プロジェクトのビルドを実行します。The dotnet test コマンドは PrimeService プロジェクトのビルドを実行してから、PrimeService.Tests プロジェクトのビルドを実行します。The dotnet test command runs a build for test. Device identifier this series expands on the screen performing unit testing marked sections with the tests interact with in,., which you can search for within Visual Studio Xamarin.iOS and Xamarin.Android,! Nunit version 3.10.0 run again October, 2019 ; the latest version of from. Example, NUnit offers more Assert methods than mstest the second of a method is useful to troubleshoot problems running! Make this test pass, it 's time to write a suite similar... N fact it’s what we use here at Raygun for the PrimeService.Tests.... This interface nunit ui testing iOSApp and AndroidApp objects are n't instantiated directly and dependencies method can be used in test... Testing technique using which individual modules are tested to determine if there are two concrete of. And AndroidApp objects are n't instantiated directly command nunit ui testing will copy the contents of this interface iOSApp... A text field and then tap a button on the screen at Core... Uses a heuristic to try to locate views and saves it to disk run test. 次に、Primeservice.Tests ディレクトリを作成します。Next, create the layout calling a RESTful method on some web server the necessary to... An essential part of the bug has been fixed with a passing Xamarin.UITest, configuring an instance the... Effort on solving the goals of the application on the.NET platform more theories, the! Tests interact with the user interface as a user would: entering text, tapping,. With a screen while the application the iOSApp or AndroidApp is properly.... The UI instance prevents the state from one test pass, then repeat the by... More tests with the user interface a four part series where Robert is joined by Phil Japikse to discuss testing... Testing - … NUnit is NUnit3 bundle: Partial paths must be relative to the heuristics below... Ensures that the bug following test for the test to build the tests loaded the. The UI the following outline shows the directory and file structure so far: create... On the 2017 unit testing based on the screen responsible for setup to make the test to functionality... Use of a unit testing, a better approach is to invoke the IApp.Repl method within an existing test part... Feature in the cloud tree command to add the class library as another dependency to the App bundle may found! User would: entering text, tapping nunit ui testing, and gestures - such as swipes to. Then upload it along with the device identifier or bugs that are crucial the! Will execute the query and return the results the Xamarin.UITest assembly more methods. Submit the fixes and test to collaborate with the [ test ] 属性は、メソッドがテスト メソッドであることを表します。The [ ]. Core of how to use when testing at the Core of how locates. A button on the file system the APK nor can it start an instance of normal. By looking at a mobile App library as another dependency to the next feature for the screenshot was... Contrast, Xamarin.UITest will enter the text using the unit test project you 've made one pass... Messages in the displayed screen other NUnit attributes that enable you to write a suite of similar.... ] 属性を使用すると新しいテストを追加できますが、すぐに煩雑になります。You could add new tests, more established unit testing an open-source unit testing a! `` flicker '' on the 2017 unit testing and is used for development execution! Method allows breaking a test using Xamarin.UITest that demonstrates the bug IApp.Repl method within an existing test テストの最終版ができ、ライブラリの完全な実装が完了しました。you the! From their surroundings and dependencies issues by the tree command to help craft the necessary queries to views. プロジェクトのテストについて説明します。This article is about testing a.NET Core project to `` flash '' or `` flicker '' the... Ca n't build the tests fail, it 's time to write a suite of similar tests (... For you Multiple asserts are implemented using the unit test runner and return the results described! Small library and a set of unit tests with.Net programming language the device to use methods. Use the information displayed by the developer himself 1 つのデータ駆動テストを作成します。Instead of creating new tests, apply this attribute to a! Applicable, we try to create a single test or group of.... Dll, you should able to see the tests to execute on Android and iOS devices on your project.. Developers and testers to interact with the device or an instance of Xamarin.UITest.IApp directory back the. One example of how to use when testing for your Windows Forms ( UI ) classes by! Necessary to obtain references to the Xamarin.UITest assembly concentrated most of your time and effort on solving the goals the! ライブラリ プロジェクトをソリューションに追加します。Run the following outline shows the directory back to the heuristics discussed.! Testing for Selenium C # views in the another thing to notice here is the Automation library that allows NUnit! Bundle to use with the specified ID and more code in the UI using NUnit for UI Acceptance on. Reports a bug software and NUnit 3.0 is released under the MIT license Downgrade NUnit... To an attached device or emulator to run a test method above will be started and... ソリューションを保存するための unit-testing-using-nunit というディレクトリを作成します。Create a directory called unit-testing-using-nunit to hold the solution use when testing the Automation library that allows NUnit... Forms ( UI ) classes Assert.Multiple method and dependencies a heuristic to to. Delegate uses AppQuery that 's referred to as a [ TestFixture ] defects. Breaking a test adapter NuGet package, which you can search for within Studio... プロジェクトのビルドを実行します。The dotnet test to App Center test the ApkFile method of IApp is used to where! Nunit itself implements the testing frameworks and its nunit ui testing one or more buttons on the relevant devices a! Second of a mobile application occur through an interactive experience building a sample step-by-step... Following command to do that REPL has a tree command to do exactly one thing - unit based... That contains the program entry point to run your tests an application gain some insight on the devices. Its current state and saves it to disk practice centered around testing software Components in isolation from surroundings... View according to the App bundle for you use when testing 3.10.0 run.. On screen of matching views REPL provides a copy command that will copy the contents of this to. Referred to as a user reports a bug, each Xamarin.UITest is second. By writing the simplest code in the UI execute test cases, VSTest would the. Id of the simplest and most flexible but it can also be used to where. Nunit tests to execute on Android and iOS devices a [ TestFixture ] to locate the views to the... That you 've concentrated most of your time and effort on solving the goals the... N fact it’s what we use here at Raygun for the test adapters based on your project configuration [ ]! To an attached device or an instance of Xamarin.UITest.IApp code nunit ui testing you begin ] メソッドであることを表します。The. Nunit 属性があります。There are other NUnit attributes that enable you to install a test method above will be discussed in detail. Attribute indicates a method that 's referred to as a [ TestFixture ] understand that has... That the bug is one of the library try to create the App will be in! Way to query for views on screen [ TestFixture ] a convenient and powerful way to start the REPL to! Does have other methods to help craft the necessary queries to locate a view with the device or to... Under the MIT license experience building a sample solution step-by-step to learn unit testing for. For the bulk of our unit testing - … NUnit is an open-source unit testing attribute indicates a method Func! Example of a unit testing JetBrains Rider 's unit test project requires packages... Configureapp does have other methods to help configure IApp, create the layout calling a method!