Fix extruderstack test on CI

We do not need a complete CuraApplication just so registerExtruder
can work. Instead, we just mock away the extruder manager so the rest of
the test can proceed.
This commit is contained in:
Arjen Hiemstra 2017-05-04 13:04:21 +02:00
parent 45a369e31b
commit fe112d5d81

View File

@ -11,7 +11,7 @@ from UM.Settings.InstanceContainer import InstanceContainer #To check against th
import cura.Settings.ExtruderStack #The module we're testing. import cura.Settings.ExtruderStack #The module we're testing.
from cura.Settings.Exceptions import InvalidContainerError, InvalidOperationError #To check whether the correct exceptions are raised. from cura.Settings.Exceptions import InvalidContainerError, InvalidOperationError #To check whether the correct exceptions are raised.
from cura.CuraApplication import CuraApplication from cura.Settings.ExtruderManager import ExtruderManager
## Fake container registry that always provides all containers you ask of. ## Fake container registry that always provides all containers you ask of.
@pytest.yield_fixture() @pytest.yield_fixture()
@ -241,7 +241,9 @@ def test_deserializeMoveDefinitionContainer(extruder_stack):
## Tests whether getProperty properly applies the stack-like behaviour on its ## Tests whether getProperty properly applies the stack-like behaviour on its
# containers. # containers.
def test_getPropertyFallThrough(extruder_stack): def test_getPropertyFallThrough(extruder_stack):
CuraApplication.getInstance() # To ensure that we have the right Application # ExtruderStack.setNextStack calls registerExtruder for backward compatibility, but we do not need a complete extruder manager
ExtruderManager._ExtruderManager__instance = unittest.mock.MagicMock()
#A few instance container mocks to put in the stack. #A few instance container mocks to put in the stack.
mock_layer_heights = {} #For each container type, a mock container that defines layer height to something unique. mock_layer_heights = {} #For each container type, a mock container that defines layer height to something unique.
mock_no_settings = {} #For each container type, a mock container that has no settings at all. mock_no_settings = {} #For each container type, a mock container that has no settings at all.