brownie icon indicating copy to clipboard operation
brownie copied to clipboard

Bug: Running brownie with --coverage option ignores isolation fixture

Open mbaranovski opened this issue 3 years ago • 0 comments

Environment information

  • brownie Version: 1.19.0
  • Python Version: 3.10.5
  • OS: osx

What was wrong?

Scenario tests are passing Given example contract:

pragma solidity ^0.8.14;

contract SimpleStorage {
    uint256 public count = 10;

    function increment() public {
       count += 1;
    }

    function decrement() public {
       count -= 1;
    }
}

When below tests are ran with command brownie test --network hardhat -s

import pytest
from brownie import accounts, SimpleStorage

@pytest.fixture(scope="module", autouse=True)
def contractFixture():
    contract = accounts[0].deploy(SimpleStorage)

    return contract

@pytest.fixture(autouse=True)
def isolation(fn_isolation):
    pass


def test_increment(contractFixture):
    assert contractFixture.count() == 10
    contractFixture.increment()
    assert contractFixture.count() == 11


def test_decrement(contractFixture):
    assert contractFixture.count() == 10
    contractFixture.decrement()
    assert contractFixture.count() == 9

Then tests pass


Scenario tests are failing When running the same tests against the same contract but using command: brownie test --network hardhat -s --coverage Then tests are failing due to fn_isolation fixture not being executed.

FAILED tests/test_example.py::test_decrement - assert 11 == 10

mbaranovski avatar Jul 28 '22 11:07 mbaranovski