In case I have a ERC20Mintable token, and a MintableCrowdsale-contract becomes the only MinterRole on that token, how can I write proper tests for this specific role?
Lets say, I have deployed a token and instantiate the token sale as follows:
You can test the public/external functions of the smart contract using Externally Owned Accounts (EOAs), so to test the behavior of minting where the only minter is the crowdsale contract, you need to purchase via the crowdsale and can use accounts provided by ganache.
I suggest you have a look at the existing OpenZeppelin tests, including the MintedCrowdsale test.