Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[C#] Overhal unit testing state #592

Open
damageboy opened this issue Oct 9, 2018 · 2 comments
Open

[C#] Overhal unit testing state #592

damageboy opened this issue Oct 9, 2018 · 2 comments

Comments

@damageboy
Copy link
Contributor

As mentioned in the discussion for another PR there are some issues with the current state of sbe-dll unit tests, to summerise what I'm seeing and what @ZachBray mentioned:

  • I can't get tests to run on Linux (possible because of MS test frameowrk? not sure why)
  • Tests aren't targeting netcoreapp2.1/2.0 at all, so not .NET Core testing isn't happening
  • Tests are targeting net45 as of now, which doesn't officially support the .NET framework that is the minimal requirement for sbe-dll.dll which is targeting netstandard2.0.
  • tests are not run as part of the gradle build at all, AFAICT gradle only generates the csharp source code from sbe schema with no dotnet build being invoked at all, so I think, we probably want separate
    I think we would/should want tests to be able to run on an OS (Linux+Windows), using the standard toolset (e.g. dotnet test) from the travis build script

If that requires porting tests to NUnit/XUnit, let's make that call (though I admit I can't find anywhere saying MSTest won't work on Linux, I just can't get it to run right now).

Any thoughts about this?

@billsegall
Copy link
Contributor

billsegall commented Oct 9, 2018

I'd like to target both netstandard2.0 and .NET framework 4.5 so we can support vanilla Server2k12 without service packs. The current nuget package suports both.

The tests are definitely lagging and I would like to see them also build for both and supporting linux is also desirable. I think there are some ways to wrap mstest for linux but they don't look very good and I would be happy to use some other test framework if it made this easier. I'm not sufficiently familiar with the mono tool set to know what's right here.

The gradle integration is a little weak and could be expanded but it needs to check for the presence for dotnet before doing anything as the rust does,

Basically, this is all stuff I'd like to see improved.

@damageboy
Copy link
Contributor Author

Just one note, you cannot target tests to run on netstandard, you have to target framework/core.

The version being tested can be the netstandard version of course...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants