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
Is it possible to use Fixie in netcoreapp1.1? #161
Comments
I wish I had a better answer, but Fixie can't be used against netcoreapp yet. The history is complicated: As described on the #145 (comment) the experimental 2.0.0-alpha-0001 release only works when your projects target the regular framework (like net45) and not the cross-platform netcoreapp1.1. I understand that may be confusing, since the experimental branch is doing exactly that! After the 2.0.0-alpha-0001 release, I made a lot of progress in that branch towards cross-compiling against netstandard/netcoreapp. The biggest obstacle to that support, though, involved some extremely regrettable changes to the build script and the ability to realistically work in the solution in Visual Studio at all. ( Alas, those changes were so disruptive that they invalidate further work within that experimental branch, and I'll have to try again as VS2017 and the new I'm closing this issue in favor of #155 where that future progress can be tracked. |
Thanks for the answer! I will be the first one to test VS2017 support. Ironically I was motivated to try Fixie after reading your article but I guess I'll have to wait for a while. |
I have said this before and I say it again. I really hope that this project makes it to .Net Core as it is the smoothest testing framework ever. Keep up the excellent work |
Agree. Fixie + Autofixture = the best testing experience ever. I've been doing it wrong for so many years... And to make Fixie more mainstream we have to create a stable, maintainable Resharper plugin. |
Thanks for the vote of confidence! When VS2017 comes out in the next few weeks, I'll pick this up again. My main development branch includes a lot of the necessary changes to support cross-compiling (there are a few places I'll need to add a #if for instance), and folks are even having some success using version 1.x with the VS2017 RCs, when targeting the regular framework, so we have reason to believe it will go a lot smoother this time around. |
Any news on this? |
Right now, I'm bringing the solution up to speed with VS2017's project file formats (targeting the regular framework as a first step). My biggest obstacle comes with nuget packaging under the new tooling. "dotnet pack", in general, wants people to put only one dll in any package, and I'm first seeing if I can avoid that like the plague. I want to continue to support the "Just install Fixie and go" approach that's worked to date, unlike the "Install X, and install Y, but not the wrong version of Y, and maybe sometimes Z" scenario that other tools are doing as a result of the "one dll per package" pressure. After much searching, I've found one bit of evidence that it's still possible to build a package from a nuspec file (which gives you more control over what all gets included in a package): https://github.com/NuGet/Home/wiki/Adding-nuget-pack-as-a-msbuild-target#packing-using-a-nuspec I'm making progress using those command line arguments, but some of the error messages I'm getting along the way are extra confusing and almost comical :) |
Am I the only one who feels like the problem with Fixie at the moment is more fundamental? At the moment it really feels like one-man side project and we're not really moving forward. And it's sad as all those xunit-driven test runners are outdated crap (I said it). If we want to make Fixie more popular (Resharper plugin?), we need to build a community of core contributors. I believe there're people around who're happy to get their hand dirty but they don't know how to start. My suggestion: create a pull-request with VS2017 support implementation where other people could contribute ideas and code. |
Why don't you just use NuGet with a nuspec file to pack Fixie? Then you have all the options to pack it any way that you like :) |
I would avoid nuspec as much as possible - it gets quite confusing when you can set things in your project file vs. not. I try to use I don't know of an OSS project that has regretted splitting packages out. It's much nicer to understand dependencies etc. when you do that. So Fixie might depend on Fixie.Core and Fixie.TestDriven etc. if you wanted. |
Ah, I hadn't thought of it like that. That makes sense. My goal is, as you're getting at, a simple installation scenario. I'm a little bugged by the idea of implementation details (like a common library used by all runners) being exposed as a whole public package, but if a catch-all package is all people really need to think about installing, yay. |
@seesharper NuGet 4 is in a weird state, which makes nuspecs harder to work with. Using NuGet.exe, even the latest version, gets tripped up when the csproj in question is the new compact format. You can indicate a nuspec using "dotnet pack .... /p:NuspecFile..." which I do think I have working at last, but to Jimmy's point, I should probably just embrace the New World. |
Let's take the discussion here: #155 The first item on the to-do list is marked Up for Grabs. |
I'm trying to make Fixie work in a netcoreapp1.1 project. First, I followed experimental branch samples code and tried to add net45 framework in addition to netcoreapp1.1 but it makes my other dependencies (that do not support net45) fail during restore. I also tried to add net45 to imports of netcoreapp1.1 but it doesn't seem to work. Did I miss something or it's just not supported so far?
The text was updated successfully, but these errors were encountered: