zoukankan      html  css  js  c++  java
  • Comparing the MSTest and Nunit Frameworks

    I haven't seen much information online comparing the similarities and differences between the Nunit and MSTest Frameworks.  Here I will define the similarities and some of the differences.

    MSTest Attribute

    NUnit Attribute

    Purpose

    [TestMethod]

    [Test]

    Indentifies of an individual unit test

    [TestClass]

    [TestFixture]

    Identifies of a group of unit tests, all Tests, and Initializations/Clean Ups must appear after this declaration

    [ClassInitialize]

    [TestFixtureSetUp]

    Identifies a method which should be called a single time prior to executing any test in the Test Class/Test Fixture

    [ClassCleanup]

    [TestFixtureTearDown]

    Identifies a method in to be called a single time following the execution of the last test in a TestClass/TestFixture

    [TestInitialize]

    [SetUp]

    Identifies a method to be executed each time before a TestMethod/Test is executed

    [TestCleanUp]

    [TearDown]

    Identifies a method to be executed each time after a TestMethod/Test has executed

    [AssemblyInitialize]

    N/A

    Identifies a method to be called a single time upon before running any tests in a Test Assembly

    [AssemblyCleanUp]

    N/A

    Identifies a method to be called a single time upon after running all tests in a Test Assembly

    The order of execution is similar in both frameworks, but there are some differences between the two:

    • In Nunit, tests are not executed in parallel.  Rather, it appears that all tests execute on a single thread.  In MSTest, each test is instantiated on a separate thread, this results the runs being interleaved.  Therefore, if test A depends on test B for its success, it likely will fail as test B will likely start running as test A is running.
    • The time at which ClassCleanUp/TestFixtureTearDown executes is different between the two frameworks.  In Nunit, TestFixtureTearDown is executed immediately following the completion of the last test in a TestFixture or after TearDown if the attribute exists for the test in question.  In the Whidbey implementation of MsTest, ClassCleanUp executes at the end of a test run, before AssemblyCleanUp but not necessarily immediately after the last test in a TestClass has completed executing.
    • In Whidbey, support for test class inheritance was missing.  In Nunit, it is fully supported.  This will be rectified in Orcas.

    I should also mentioned that in MsTest, TestContext exists for passing information about the test run.  There is no equivalent in Nunit tests.  This can serve as a handy tool for pulling information from datasources on the disk to the unit tests, as well as other uses.  More can be read about it  here.

    原文链接

  • 相关阅读:
    kubernetes yaml文件格式
    docker 镜像上传至私有仓库
    Docker Compose编排容器
    jenkins+gitlab+ansible+dockerfile+k8s自动发布代码
    kubernetes 命令行
    关于HDFS的读写流程
    vue中watched属性
    app中rem算法
    vue使用中的随笔
    react 表单获取多个input
  • 原文地址:https://www.cnblogs.com/DebugLZQ/p/3158366.html
Copyright © 2011-2022 走看看