GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Plotly.NET/tests at dev · DavidAlphaFox/Plotly.NET

Expand file tree

/

tests

/
Copy path

Directory actions

More options

More options

Directory actions

More options

More options

Latest commit

 

History

History
History
 
 
/

tests

/
Copy path

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Common
Common
 
 
ConsoleApps
ConsoleApps
 
 
CoreTests
CoreTests
 
 
ExtensionLibsTests
ExtensionLibsTests
 
 
JSTests
JSTests
 
 
README.md
README.md
 
 

README.md

Outline

The Plotly.NET Test Suite

This folder contains all tests performed in this monorepo.

As It got quite large and complex, this reamde is a try to make things less opaque for contributors.

Testing frameworks used

  • Most of the F# test projects use Expecto, some use xUnit

  • The C# test projects use xUnit

  • The JS test projects use Mocha

Running tests

Using the build project

This is the main way of running tests from the command line.

Either use build.cmd or build.sh depending on your OS to run test targets, e.g. :

build.cmd runTestsAll
build.sh runTestsCore

Available test targets are:

  • RunTestsAll - runs all tests
  • RunTestsAllNoNetFX - runs all tests except the ones that require .NET Framework
  • RunTestsCore - runs all tests in the CoreTests folder except the ones that require .NET Framework
  • RunTestsCoreWithNetFX - runs all tests in the CoreTests folder including the ones that require .NET Framework
  • RunTestsNetFX - runs all tests that require .NET Framework
  • RunTestsExtensionLibs - runs all tests in the ExtensionLibTests folder
  • RunTestsJSTests - runs all tests in the JSTests folder

Using Visual Studio Test Explorer

You can also run tests from within Visual Studio using the Test Explorer.

Just note that test projects targeting .NET Framework will not be visible in the Test Explorer, as they are not supported by the Test Explorer.

Folder structure

Common

Common contains all common code used in the test suite. This includes the TestUtils and TestCharts modules, which contain utility functions for testing and the actual chart objets to use in tests.

The projects contained here are FSharpTestBase.fsproj and CSharptestBase.csproj - classlibs that contain the above for each language respectively.

ConsoleApps

ConsoleApps is a folder containing projects that use any amount of the other projects in this repo. They are not TestProjects as in that they contain UnitTests, but are more thought of as playgrounds to manually test functionality of the projects in a console application.

CoreTests

CoreTests contains all UnitTests for the core Plotly.NET F# project. This is by far the largest test suite.

Currently, the following test projects are contained:

CoreTests.fsproj

The largets test suite by far that tests all things Plotly.NET, such as HTML code generation, JSON serialization, Object validity, etc.

CSharpInteroperabilityTests.csproj

Testing usage of the core F# API from C#

StrongNameTests.fsproj

Testing usage of the core F# in an environment that requires strong named libraries. This catches for example the addition of new dependencies that are not signed, and therefore cause errors in such an environment, but not in newer .NET environments.

ExtensionLibTests

ExtensionLibTests contains all UnitTests for extension libraries, such as Plotly.NET.CSharp or Plotly.NET.ImageExport.

JSTests

JSTests contains all UnitTests that run on node.js. The main application here is the validation of generated JSON via the Plotly.validate function in the plotly.js library.

You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.