[Notes] [Git][BuildStream/buildstream][master] 2 commits: contributing: add guidance on unit tests



Title: GitLab

Jürg Billeter pushed to branch master at BuildStream / buildstream

Commits:

1 changed file:

Changes:

  • CONTRIBUTING.rst
    ... ... @@ -1547,6 +1547,24 @@ Tests that run a sandbox should be decorated with::
    1547 1547
     
    
    1548 1548
     and use the integration cli helper.
    
    1549 1549
     
    
    1550
    +You should first aim to write tests that exercise your changes from the cli.
    
    1551
    +This is so that the testing is end-to-end, and the changes are guaranteed to
    
    1552
    +work for the end-user. The cli is considered stable, and so tests written in
    
    1553
    +terms of it are unlikely to require updating as the internals of the software
    
    1554
    +change over time.
    
    1555
    +
    
    1556
    +It may be impractical to sufficiently examine some changes this way. For
    
    1557
    +example, the number of cases to test and the running time of each test may be
    
    1558
    +too high. It may also be difficult to contrive circumstances to cover every
    
    1559
    +line of the change. If this is the case, next you can consider also writing
    
    1560
    +unit tests that work more directly on the changes.
    
    1561
    +
    
    1562
    +It is important to write unit tests in such a way that they do not break due to
    
    1563
    +changes unrelated to what they are meant to test. For example, if the test
    
    1564
    +relies on a lot of BuildStream internals, a large refactoring will likely
    
    1565
    +require the test to be rewritten. Pure functions that only rely on the Python
    
    1566
    +Standard Library are excellent candidates for unit testing.
    
    1567
    +
    
    1550 1568
     
    
    1551 1569
     Measuring performance
    
    1552 1570
     ---------------------
    



  • [Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]