Giter VIP home page Giter VIP logo

fitnessefitsharpfibonaccidemo's Introduction

Fibonacci Demo workflow badge

Introduction

This repo contains a demo on how to setup and use FitNesse with FitSharp. It include a FitNesse test page as well as a corresponding C# fixture.

Installation and Startup

Windows

  1. Ensure you have a Java JRE installed (version 8 or higher, preferably 11). OpenJDK 11 has been tested and works well. There is an issue with more recent versions of Java (17+).
  2. Ensure that you have either the .NET 6 SDK or the .NET 6 runtime installed (check by typing dotnet in a command prompt). If you want the SDK you need admin privileges, for the runtime that isn't necessary if you use the binaries (not the installer). Note that you need the plain .NET Runtime (not the Desktop Runtime or the ASP.NET Core runtime).
  3. Ensure that both Java and dotnet are in the path.
  4. Create folder for FitNesse: mkdir %LOCALAPPDATA%\FitNesse
  5. Download FitNesse from http://fitnesse.org/FitNesseDownload and copy or move fitnesse-standalone.jar to %LOCALAPPDATA%\FitNesse
  6. If you don't have the NuGet CLI already, get it from https://dist.nuget.org/win-x86-commandline/latest/nuget.exe).
  7. Install FitSharp: nuget install fitsharp -OutputDirectory %LOCALAPPDATA% -ExcludeVersion
  8. Download this repo as a zip file (use the <> Code button in the root of the repo in GitHub)
  9. Extract the contents (not the folder itself) of FitNesseFitSharpFibonacciDemo-master of the zip file into %LOCALAPPDATA%\FitNesse.
  10. Verify that the file plugins.properties is in the folder %LOCALAPPDATA%\FitNesse afterwards (this is FitNesse's configuration file).
  11. If you have a .NET 6 SDK installed, build the solution:
    1. Go to the solution folder : cd /D %LOCALAPPDATA%\FitNesse\ExtendedMath
    2. Build the fixture solution: dotnet build --configuration release ExtendedMath.sln
    3. Go to the fixture folder: cd ExtendedMathFixtures
    4. Publish the fixture including potential dependencies:
      dotnet publish ExtendedMathFixtures.csproj --output bin\Deploy\net6.0 --framework net6.0 --configuration release
  12. If you don't have .NET 6 SDK, download ExtendedMathFixtures.zip from the latest Release and extract it into the ExtendedMathFixtures folder. It should create the folder tree bin\Deploy\net6.0 with the DLLs and some other files in there.
  13. Go to the fixture assembly folder: cd bin\Deploy\net6.0
  14. Start FitNesse: java -jar %LOCALAPPDATA%\FitNesse\fitnesse-standalone.jar -d %LOCALAPPDATA%\FitNesse -e 0

Mac

  1. Install HomeBrew. This might require administrative privileges.
  2. Install a Java JRE (preferably 11) if you don't have one already: brew install java11
  3. Add Java to the path: echo 'export PATH="/usr/local/opt/openjdk@11/bin:$PATH"' >> ~/.zshrc
  4. Create a folder for FitNesse: mkdir ~/Documents/FitNesse
  5. Download FitNesse from http://fitnesse.org/FitNesseDownload and copy or move fitnesse-standalone.jar to ~/Documents/FitNesse
  6. Install nuget: brew install nuget
  7. Install FitSharp: nuget install fitsharp -OutputDirectory ~/Documents -ExcludeVersion
  8. Download this repo as a ZIP file (use the <> Code button in the root of the repo in GitHub)
  9. Extract the contents of the folder FitNesseFitSharpFibonacciDemo of the zip file into ~/Documents/FitNesse.
  10. Verify that the file plugins.properties is in that folder afterwards (this is FitNesse's configuration file).
  11. Remove or comment out the Windows specific lines in plugins.properties, and uncomment (remove #) the Mac specific ones.
  12. If you installed any applications via brew, start a new terminal window to ensure commands are found.
  13. Go to the solution folder : cd ~/Documents/FitNesse/ExtendedMath
  14. Build the fixture solution: dotnet build --configuration release ExtendedMath.sln
  15. Go to the fixture folder: cd ExtendedMathFixtures
  16. Publish the fixture including potential dependencies: dotnet publish ExtendedMathFixtures.csproj --output bin/Deploy/net6.0 --framework net6.0 --configuration release
  17. Go to the fixture assembly folder: cd bin/Deploy/net6.0
  18. Start FitNesse: java -jar ~/Documents/FitNesse/fitnesse-standalone.jar -d ~/Documents/FitNesse -e 0

Validation (for both)

  1. The first time FitNesse runs, it will unpack its resources. Wait until you see Starting FitNesse on port: 8080 in the log

    Bootstrapping FitNesse, the fully integrated standalone wiki and acceptance testing framework.
    root page: fitnesse.wiki.fs.WikiFilePage: FitNesseRoot
    logger: none
    authenticator: fitnesse.authentication.PromiscuousAuthenticator
    page factory: fitnesse.html.template.PageFactory
    page theme: bootstrap
    Unpacking new version of FitNesse resources. Please be patient...
    **********************************************************
    Files have been updated to a new version.
    Please read the release notes on
    http://localhost:8080/FitNesse.ReleaseNotes
    to find out about the new features and fixes.
    **********************************************************
    Starting FitNesse on port: 8080
    

    In case you see something else, validate that Java was correctly installed and that the location of fitnesse-standalone.jar is correctly specified.

  2. Open a browser and enter the URL http://localhost:8080/FibonacciTest?test. If you then see a test table with Fibonacci numbers, you have configured FitNesse and FitSharp correctly.

Fibonacci Test Results

Troubleshooting

Check the Troubleshooting page in the Wiki.

More information

See the Wiki.

Contribute

Enter an issue or provide a pull request.

fitnessefitsharpfibonaccidemo's People

Contributors

essenius avatar

Stargazers

dse avatar Mustafizur Rahman avatar Victor Gazzinelli avatar

Watchers

 avatar  avatar

fitnessefitsharpfibonaccidemo's Issues

Fitnesse root page

Hi could you also post fitnesse root page where you have defined path for .net framework ,runner dll etc thank you

DockerFile

Hi
I found the repo very helpful.
Did you manage to have a Dockerfile that may simplify the build of Fitnesse ?
or may I make a PR for the purpose?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.