diff --git a/Directory.Packages.props b/Directory.Packages.props
index 5e15df76e4..55a1b65b1a 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -48,14 +48,8 @@
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
+
diff --git a/TUnit.Pipeline/Modules/RunPlaywrightTestsModule.cs b/TUnit.Pipeline/Modules/RunPlaywrightTestsModule.cs
index 49f4ec85e5..a4ff52e2be 100644
--- a/TUnit.Pipeline/Modules/RunPlaywrightTestsModule.cs
+++ b/TUnit.Pipeline/Modules/RunPlaywrightTestsModule.cs
@@ -14,13 +14,12 @@ public class RunPlaywrightTestsModule : Module
{
protected override async Task ExecuteAsync(IPipelineContext context, CancellationToken cancellationToken)
{
- var project = context.Git().RootDirectory.FindFile(x => x.Name == "TUnit.Playwright.Tests.csproj").AssertExists();
+ var project = Sourcy.DotNet.Projects.TUnit_Templates__content__TUnit_Playwright__TestProject;
- return await context.DotNet().Test(new DotNetTestOptions(project)
+ return await context.DotNet().Test(new DotNetTestOptions(project.FullName)
{
NoBuild = true,
Configuration = Configuration.Release,
- Framework = Environment.GetEnvironmentVariable("NET_VERSION"),
EnvironmentVariables = new Dictionary
{
["DISABLE_GITHUB_REPORTER"] = "true",
diff --git a/TUnit.Playwright.Tests/TUnit.Playwright.Tests.csproj b/TUnit.Playwright.Tests/TUnit.Playwright.Tests.csproj
deleted file mode 100644
index 6e0897546d..0000000000
--- a/TUnit.Playwright.Tests/TUnit.Playwright.Tests.csproj
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
- true
- false
- true
- Exe
- true
- true
- false
-
-
-
-
-
-
-
diff --git a/TUnit.Templates/.idea/.idea.TUnit.dir/.idea/.gitignore b/TUnit.Templates/.idea/.idea.TUnit.dir/.idea/.gitignore
new file mode 100644
index 0000000000..7dbec2290d
--- /dev/null
+++ b/TUnit.Templates/.idea/.idea.TUnit.dir/.idea/.gitignore
@@ -0,0 +1,13 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Rider ignored files
+/modules.xml
+/projectSettingsUpdater.xml
+/contentModel.xml
+/.idea.TUnit.iml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/TUnit.Templates/.idea/.idea.TUnit.dir/.idea/.name b/TUnit.Templates/.idea/.idea.TUnit.dir/.idea/.name
new file mode 100644
index 0000000000..de9ae12538
--- /dev/null
+++ b/TUnit.Templates/.idea/.idea.TUnit.dir/.idea/.name
@@ -0,0 +1 @@
+TUnit
\ No newline at end of file
diff --git a/TUnit.Templates/.idea/.idea.TUnit.dir/.idea/encodings.xml b/TUnit.Templates/.idea/.idea.TUnit.dir/.idea/encodings.xml
new file mode 100644
index 0000000000..df87cf951f
--- /dev/null
+++ b/TUnit.Templates/.idea/.idea.TUnit.dir/.idea/encodings.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/TUnit.Templates/.idea/.idea.TUnit.dir/.idea/indexLayout.xml b/TUnit.Templates/.idea/.idea.TUnit.dir/.idea/indexLayout.xml
new file mode 100644
index 0000000000..7b08163ceb
--- /dev/null
+++ b/TUnit.Templates/.idea/.idea.TUnit.dir/.idea/indexLayout.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TUnit.Templates/content/TUnit.AspNet/.template.config/template.json b/TUnit.Templates/content/TUnit.AspNet/.template.config/template.json
new file mode 100644
index 0000000000..f2343bfb10
--- /dev/null
+++ b/TUnit.Templates/content/TUnit.AspNet/.template.config/template.json
@@ -0,0 +1,22 @@
+{
+ "$schema": "http://json.schemastore.org/template",
+ "author": "Tom Longhurst",
+ "description": "A template for testing an ASP.NET Core project with TUnit",
+ "classifications": [
+ "Test",
+ "TUnit",
+ "Asp",
+ "ASP.NET"
+ ],
+ "name": "TUnit ASP.NET Core Project",
+ "identity": "TUnit.Test.AspNet",
+ "groupIdentity": "TUnit",
+ "shortName": "TUnit.AspNet",
+ "tags": {
+ "language": "C#",
+ "type": "project"
+ },
+ "sourceName": "TestProject",
+ "preferNameDirectory": true
+ }
+
\ No newline at end of file
diff --git a/TUnit.Templates/content/TUnit.Playwright/.template.config/template.json b/TUnit.Templates/content/TUnit.Playwright/.template.config/template.json
new file mode 100644
index 0000000000..d6c691ad79
--- /dev/null
+++ b/TUnit.Templates/content/TUnit.Playwright/.template.config/template.json
@@ -0,0 +1,21 @@
+{
+ "$schema": "http://json.schemastore.org/template",
+ "author": "Tom Longhurst",
+ "description": "A template for testing using Playwright with TUnit",
+ "classifications": [
+ "Test",
+ "TUnit",
+ "Playwright"
+ ],
+ "name": "TUnit Playwright Project",
+ "identity": "TUnit.Test.Playwright",
+ "groupIdentity": "TUnit",
+ "shortName": "TUnit.Playwright",
+ "tags": {
+ "language": "C#",
+ "type": "project"
+ },
+ "sourceName": "TestProject",
+ "preferNameDirectory": true
+ }
+
\ No newline at end of file
diff --git a/TUnit.Playwright.Tests/Hooks.cs b/TUnit.Templates/content/TUnit.Playwright/Hooks.cs
similarity index 83%
rename from TUnit.Playwright.Tests/Hooks.cs
rename to TUnit.Templates/content/TUnit.Playwright/Hooks.cs
index 24b308d9c7..46bd212bac 100644
--- a/TUnit.Playwright.Tests/Hooks.cs
+++ b/TUnit.Templates/content/TUnit.Playwright/Hooks.cs
@@ -1,10 +1,10 @@
using System.Diagnostics;
-namespace TUnit.Playwright.Tests;
+namespace TestProject;
public class Hooks
{
- [Before(Assembly)]
+ [Before(TestSession)]
public static void InstallPlaywright()
{
if (Debugger.IsAttached)
diff --git a/TUnit.Templates/content/TUnit.Playwright/TestProject.csproj b/TUnit.Templates/content/TUnit.Playwright/TestProject.csproj
new file mode 100644
index 0000000000..a16410c4a7
--- /dev/null
+++ b/TUnit.Templates/content/TUnit.Playwright/TestProject.csproj
@@ -0,0 +1,14 @@
+
+
+
+ enable
+ enable
+ Exe
+ net8.0
+
+
+
+
+
+
+
diff --git a/TUnit.Playwright.Tests/Tests.cs b/TUnit.Templates/content/TUnit.Playwright/Tests.cs
similarity index 76%
rename from TUnit.Playwright.Tests/Tests.cs
rename to TUnit.Templates/content/TUnit.Playwright/Tests.cs
index 2545c5faf7..f496237e05 100644
--- a/TUnit.Playwright.Tests/Tests.cs
+++ b/TUnit.Templates/content/TUnit.Playwright/Tests.cs
@@ -1,17 +1,12 @@
using System.Text.RegularExpressions;
+using TUnit.Playwright;
-namespace TUnit.Playwright.Tests;
+namespace TestProject;
public class Tests : PageTest
{
[Test]
public async Task Test()
- {
- await Page.GotoAsync("https://www.github.com/thomhurst/TUnit");
- }
-
- [Test]
- public async Task HomepageHasPlaywrightInTitleAndGetStartedLinkLinkingtoTheIntroPage()
{
await Page.GotoAsync("https://playwright.dev");
diff --git a/TUnit.Templates/content/TUnit/.template.config/template.json b/TUnit.Templates/content/TUnit/.template.config/template.json
index 772e07bd94..a2c1976f9a 100644
--- a/TUnit.Templates/content/TUnit/.template.config/template.json
+++ b/TUnit.Templates/content/TUnit/.template.config/template.json
@@ -6,8 +6,8 @@
"Test",
"TUnit"
],
- "name": "TUnit Test Project",
- "identity": "TUnit.Test.Project",
+ "name": "TUnit Mixed Test Project",
+ "identity": "TUnit.Test.Mixed",
"groupIdentity": "TUnit",
"shortName": "TUnit",
"tags": {
diff --git a/TUnit.sln b/TUnit.sln
index 16ea6e3eff..4705c4626e 100644
--- a/TUnit.sln
+++ b/TUnit.sln
@@ -55,7 +55,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TUnit.Playwright", "TUnit.Playwright\TUnit.Playwright.csproj", "{33C13E01-6FC8-4118-A4EB-7C63E6612248}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TUnit.Playwright.Tests", "TUnit.Playwright.Tests\TUnit.Playwright.Tests.csproj", "{EB92E3E9-A192-4DDD-9B10-4355D74BD119}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestProject", "TUnit.Templates\content\TUnit.Playwright\TestProject.csproj", "{EB92E3E9-A192-4DDD-9B10-4355D74BD119}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SourceGenerators", "SourceGenerators", "{6F7B9D8E-4539-42BC-BE0B-E5BE70ED9473}"
EndProject
@@ -81,6 +81,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestProject", "TUnit.Templa
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebApp", "TUnit.Templates\content\TUnit.AspNet\WebApp\WebApp.csproj", "{D778BF96-702F-4A59-A2D5-E348A3320E58}"
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Playwright", "Playwright", "{32F534AB-F8C1-42D0-BFB3-9270CEA6C3F3}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -228,7 +230,6 @@ Global
{BD0CDBA0-8A38-45A2-8581-043A13A34D67} = {62AD1EAF-43C4-4AC0-B9FA-CD59739B3850}
{2DE2A1F9-2A87-4FA8-8D62-0B60093DA604} = {62AD1EAF-43C4-4AC0-B9FA-CD59739B3850}
{33C13E01-6FC8-4118-A4EB-7C63E6612248} = {1B56B580-4D59-4E83-9F80-467D58DADAC1}
- {EB92E3E9-A192-4DDD-9B10-4355D74BD119} = {62AD1EAF-43C4-4AC0-B9FA-CD59739B3850}
{BECB04A9-C731-4AC0-B76B-36382BFE77AA} = {6F7B9D8E-4539-42BC-BE0B-E5BE70ED9473}
{1EF4041E-CBD0-49C9-9D4B-56E16B653170} = {6F7B9D8E-4539-42BC-BE0B-E5BE70ED9473}
{C1320FF8-0AAB-4C41-A87B-841AFB0A512A} = {6F7B9D8E-4539-42BC-BE0B-E5BE70ED9473}
@@ -240,6 +241,8 @@ Global
{23F41068-7C7E-435C-B6AB-4258B6380DC2} = {835A7825-FC06-46E2-B3B1-2BF791A22B97}
{2BCFDB65-AF9F-4CC4-B215-4C0035906F2A} = {23F41068-7C7E-435C-B6AB-4258B6380DC2}
{D778BF96-702F-4A59-A2D5-E348A3320E58} = {23F41068-7C7E-435C-B6AB-4258B6380DC2}
+ {32F534AB-F8C1-42D0-BFB3-9270CEA6C3F3} = {835A7825-FC06-46E2-B3B1-2BF791A22B97}
+ {EB92E3E9-A192-4DDD-9B10-4355D74BD119} = {32F534AB-F8C1-42D0-BFB3-9270CEA6C3F3}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {109D285A-36B3-4503-BCDF-8E26FB0E2C5B}