MCPcopy Create free account
hub / github.com/KDE/kdevelop / testResults

Method testResults

kdevplatform/shell/tests/test_testcontroller.cpp:181–225  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

179}
180
181void TestTestController::testResults()
182{
183 ITestSuite* suite = new FakeTestSuite(TestSuiteName, m_project);
184 m_testController->addTestSuite(suite);
185
186 QSignalSpy spy(m_testController, SIGNAL(testRunFinished(KDevelop::ITestSuite*,KDevelop::TestResult)));
187 QVERIFY(spy.isValid());
188
189 QList<TestResult::TestCaseResult> results;
190 results << TestResult::Passed << TestResult::Failed << TestResult::Error << TestResult::Skipped << TestResult::NotRun;
191
192 for (const TestResult::TestCaseResult result : std::as_const(results)) {
193 emitTestResult(suite, result);
194 QCOMPARE(spy.size(), 1);
195
196 QVariantList arguments = spy.takeFirst();
197 QCOMPARE(arguments.size(), 2);
198
199 QVERIFY(arguments.first().canConvert<ITestSuite*>());
200 QCOMPARE(arguments.first().value<ITestSuite*>(), suite);
201
202 QVERIFY(arguments.at(1).canConvert<TestResult>());
203 QCOMPARE(arguments.at(1).value<TestResult>().suiteResult, result);
204
205 const auto testCases = suite->cases();
206 for (const QString& testCase : testCases) {
207 QCOMPARE(arguments.at(1).value<TestResult>().testCaseResults[testCase], result);
208 }
209 }
210
211 QCOMPARE(spy.size(), 0);
212
213 ITestSuite* suiteTwo = new FakeTestSuite(TestSuiteNameTwo, m_project);
214 m_testController->addTestSuite(suiteTwo);
215
216 // Verify that only one signal gets emitted even with more suites present
217 emitTestResult(suiteTwo, TestResult::Passed);
218
219 QCOMPARE(spy.size(), 1);
220
221 m_testController->removeTestSuite(suite);
222 m_testController->removeTestSuite(suiteTwo);
223 delete suite;
224 delete suiteTwo;
225}
226
227
228QTEST_GUILESS_MAIN(TestTestController)

Callers

nothing calls this directly

Calls 7

addTestSuiteMethod · 0.45
isValidMethod · 0.45
sizeMethod · 0.45
firstMethod · 0.45
atMethod · 0.45
casesMethod · 0.45
removeTestSuiteMethod · 0.45

Tested by

no test coverage detected