TABTestKit
TABTestKit copied to clipboard
Test continues after failing to find element
Hi,
I recently joined a project that uses your framework and came across the following issue.
When I have tests that are using Scenario and Steps structure, test is not failing when it does not find an element. I added below a code snap of how a dummy test method looks:
In the above example, if I run the method and the .exists check returns false, the test continues to check if element is .hittable as well. Snap of logs below:
If I don't use a step in the scenario, just add the code in Given outside of the step, it works properly.
I looked for what could cause this and found that if I comment out lines 85-86 from TABTestCase.swift, the example works as expected.
Can you tell me if this behaviour happened for other projects or if there is a solution? Or can we fix it?
Thanks!
Hi! I was literally just running some tests to confirm this behaviour. I started a standard iOS project on xcode without modifying anything, I added TABTestKit pod and created a dummy scenario, similar to what @IoanaRusYnap shows. I have the same issue. Test execution continues regardless of any failure. There can be multiple failures in a single scenario
This will continue executing past function stepFails
that only has XCTFail
with a message
func test_example() {
Scenario("Using steps") {
Given(I: see(Label(id: "Hello, world!")))
When(the: stepFails())
Then(I: doNotSee(Label(id: "Hello, world!")))
And(the: otherStepFailsToo())
}
}
If written like this, it fails and stops the execution as expected.
func test_example_no_steps() {
Scenario("without using steps") {
see(Label(id: "Hello, world!"))
stepFails()
doNotSee(Label(id: "Hello, world!"))
otherStepFailsToo()
}
}