aboutsummaryrefslogtreecommitdiffhomepage
path: root/csharp
diff options
context:
space:
mode:
authorGravatar Feng Xiao <xfxyjwf@gmail.com>2018-04-04 17:01:09 -0700
committerGravatar GitHub <noreply@github.com>2018-04-04 17:01:09 -0700
commite7e6c6b8d1317aa315530024224bfb92e857daa0 (patch)
tree4fece38c58a556d42ea526c3a7f8876bbc1e8b3b /csharp
parentc93174346149f259ebc85fdb46826fcf84abb07d (diff)
parentf72ac9f987168cb333a1ca0b6482737f7466b22a (diff)
Merge pull request #4283 from ObsidianMinor/csharp/better-test-runners
[C#] Update test project to be used with dotnet test and Visual Studio Test Explorer
Diffstat (limited to 'csharp')
-rw-r--r--csharp/README.md6
-rwxr-xr-xcsharp/buildall.sh2
-rw-r--r--csharp/src/Google.Protobuf.Test/Google.Protobuf.Test.csproj8
-rwxr-xr-xcsharp/src/Google.Protobuf.Test/Program.cs48
4 files changed, 7 insertions, 57 deletions
diff --git a/csharp/README.md b/csharp/README.md
index c1d12419..436248bb 100644
--- a/csharp/README.md
+++ b/csharp/README.md
@@ -44,10 +44,8 @@ they're only relevant when building the `Google.Protobuf` assembly.
Testing
=======
-The unit tests use [NUnit 3](https://github.com/nunit/nunit). NUnit doesn't yet
-support `dotnet test`, so for now the test project is a console application
-using NUnitLite. Simply run `Google.Protobuf.Test.exe` to run the unit tests
-directly, or else use `dotnet run`.
+The unit tests use [NUnit 3](https://github.com/nunit/nunit). Tests can be
+run using the Visual Studio Test Explorer or `dotnet test`.
.NET 3.5
========
diff --git a/csharp/buildall.sh b/csharp/buildall.sh
index dd4b463d..50d8906d 100755
--- a/csharp/buildall.sh
+++ b/csharp/buildall.sh
@@ -14,4 +14,4 @@ echo Running tests.
# If we want to test the .NET 4.5 version separately, we could
# run Mono explicitly. However, we don't have any differences between
# the .NET 4.5 and netstandard1.0 assemblies.
-dotnet run -c $CONFIG -f netcoreapp1.0 -p $SRC/Google.Protobuf.Test/Google.Protobuf.Test.csproj
+dotnet test -c $CONFIG -f netcoreapp1.0 $SRC/Google.Protobuf.Test/Google.Protobuf.Test.csproj
diff --git a/csharp/src/Google.Protobuf.Test/Google.Protobuf.Test.csproj b/csharp/src/Google.Protobuf.Test/Google.Protobuf.Test.csproj
index 06d07b9f..6a430116 100644
--- a/csharp/src/Google.Protobuf.Test/Google.Protobuf.Test.csproj
+++ b/csharp/src/Google.Protobuf.Test/Google.Protobuf.Test.csproj
@@ -1,7 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
- <OutputType>Exe</OutputType>
<TargetFrameworks>net451;netcoreapp1.0</TargetFrameworks>
<AssemblyOriginatorKeyFile>../../keys/Google.Protobuf.snk</AssemblyOriginatorKeyFile>
<SignAssembly>true</SignAssembly>
@@ -14,8 +13,9 @@
</ItemGroup>
<ItemGroup>
- <PackageReference Include="NUnit" Version="3.6.1" />
- <PackageReference Include="NUnitLite" Version="3.6.1" />
+ <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
+ <PackageReference Include="NUnit" Version="3.9.0" />
+ <PackageReference Include="NUnit3TestAdapter" Version="3.9.0" />
</ItemGroup>
<!--
@@ -26,5 +26,5 @@
<PropertyGroup Condition="'$(OS)' != 'Windows_NT'">
<TargetFrameworks>netcoreapp1.0</TargetFrameworks>
</PropertyGroup>
-
+
</Project>
diff --git a/csharp/src/Google.Protobuf.Test/Program.cs b/csharp/src/Google.Protobuf.Test/Program.cs
deleted file mode 100755
index 954c02b5..00000000
--- a/csharp/src/Google.Protobuf.Test/Program.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-#region Copyright notice and license
-// Protocol Buffers - Google's data interchange format
-// Copyright 2017 Google Inc. All rights reserved.
-// https://developers.google.com/protocol-buffers/
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-// * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-// * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-// * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#endregion
-using NUnitLite;
-using System.Reflection;
-
-namespace Google.Protobuf.Test
-{
- class Program
- {
- public static int Main(string[] args)
- {
- #if NET35
- return new AutoRun(typeof(Program).Assembly).Execute(args);
- #else
- return new AutoRun(typeof(Program).GetTypeInfo().Assembly).Execute(args);
- #endif
- }
- }
-} \ No newline at end of file