Create integration tests

The integration tests are structured in fixtures. Each fixture holds a set of tests and a tear down method. For more information about each element, read the sections below.

Test fixtures

The test fixtures hold the tests. You can use multiple fixtures and group your tests depending on the functionality they cover. Each fixture is represented by a class. To create a fixture, perform the following:

  1. Create an empty class file.
  2. Mark the class with the the TestFixture attribute.
  3. Mark the class with the Description attribute. (optional)

Tests

The tests are represented by methods that contain the logic that you want to test. To create a test method, you must perform the following:

  1. Create a method that returns void and do not accept any arguments.
  2. Mark the method with the Test attribute.
  3. Mark the method with others optional attributes:
    • Author
    • Description
  4. Write the logic that you want to test.
  5. Assert the results.

NOTE: You can mark a test method with the Ignore attribute. When you run an entire fixture or all of the tests, the tests marked with this attribute will get skipped.

EXAMPLE: For an example containing tests, see SimpleTests.cs in Sitefinity SDK: documentation-samples on GitHub.

Tear down

The tear down method is executed after each test. It is optional. Typically you use it only when you have made some permanent changes to the testing environment and you want to bring them back once the test has been executed.  For example if you have created a document library during your test and you want to remove it once the test has been executed, you implement the logic for removing the document library in the tear down method. To create a tear down method, perform the following:

  1. Create a method that returns void and do not accept any arguments.
  2. Mark the method with the TearDown attribute.
  3. Implement the logic for bringing the environment back to its original state.

EXAMPLE: For an example containing tests, see TearDownClass.cs in Sitefinity documentation-samples on GitHub.

Was this article helpful?