<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://en.accunit.access-codelib.net/skins/common/feed.css?207"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>NewTestRunner - Revision history</title>
		<link>https://en.accunit.access-codelib.net/index.php?title=NewTestRunner&amp;action=history</link>
		<description>Revision history for this page on the wiki</description>
		<language>en</language>
		<generator>MediaWiki 1.15.1</generator>
		<lastBuildDate>Sun, 19 Apr 2026 13:01:23 GMT</lastBuildDate>
		<item>
			<title>Josef Pötzl:&amp;#32;/* Data structures */</title>
			<link>https://en.accunit.access-codelib.net/index.php?title=NewTestRunner&amp;diff=2107&amp;oldid=prev</link>
			<description>&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Data structures&lt;/span&gt;&lt;/p&gt;

		&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 13:42, 15 January 2012&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 153:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 153:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;*ITestResult&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;*ITestResult&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** ITest&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** ITest&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;status &lt;/del&gt;(success, failed, error, ignored) ... error = runtime error; failed = error by asserts&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Status &lt;/ins&gt;(success, failed, error, ignored) ... error = runtime error; failed = error by asserts&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;message &lt;/del&gt;(??? rowtest: summary or null ?)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Message &lt;/ins&gt;(??? rowtest: summary or null ?)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;rowdata &lt;/del&gt;(testresults of rows)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Rowdata &lt;/ins&gt;(testresults of rows &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;... message + status of rows?&lt;/ins&gt;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** StartedAt&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** StartedAt&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** EndedAt&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;** EndedAt&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;** Summary ??? ... summary of row tests?&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Open issues ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Open issues ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Test Reactive Extensions in a VBE AddIn&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;* Test Reactive Extensions in a VBE AddIn&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff generator: internal 2026-04-19 13:01:23 --&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 15 Jan 2012 13:42:45 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Talk:NewTestRunner</comments>		</item>
		<item>
			<title>Josef Pötzl at 17:52, 14 January 2012</title>
			<link>https://en.accunit.access-codelib.net/index.php?title=NewTestRunner&amp;diff=2105&amp;oldid=prev</link>
			<description>&lt;p&gt;&lt;/p&gt;

		&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 17:52, 14 January 2012&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;This is a first draft for an AccUnit TestRunner.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;This is a first draft for an AccUnit TestRunner.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;File&lt;/del&gt;:AccUnit_TestRunner_Draft.jpg|480px]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;image&lt;/ins&gt;:AccUnit_TestRunner_Draft.jpg|480px]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff generator: internal 2026-04-19 13:01:23 --&gt;
&lt;/table&gt;</description>
			<pubDate>Sat, 14 Jan 2012 17:52:37 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Talk:NewTestRunner</comments>		</item>
		<item>
			<title>Josef Pötzl at 17:52, 14 January 2012</title>
			<link>https://en.accunit.access-codelib.net/index.php?title=NewTestRunner&amp;diff=2104&amp;oldid=prev</link>
			<description>&lt;p&gt;&lt;/p&gt;

		&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 17:52, 14 January 2012&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[de:NewTestRunner]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[de:NewTestRunner]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;This is a first draft for an AccUnit TestRunner.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;This is a first draft for an AccUnit TestRunner.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[File:AccUnit_TestRunner_Draft.jpg|480px]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff generator: internal 2026-04-19 13:01:23 --&gt;
&lt;/table&gt;</description>
			<pubDate>Sat, 14 Jan 2012 17:52:31 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Talk:NewTestRunner</comments>		</item>
		<item>
			<title>Josef Pötzl at 17:50, 14 January 2012</title>
			<link>https://en.accunit.access-codelib.net/index.php?title=NewTestRunner&amp;diff=2103&amp;oldid=prev</link>
			<description>&lt;p&gt;&lt;/p&gt;

		&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;col class='diff-marker' /&gt;
		&lt;col class='diff-content' /&gt;
		&lt;tr valign='top'&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Older revision&lt;/td&gt;
		&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 17:50, 14 January 2012&lt;/td&gt;
		&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[de:NewTestRunner]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[de:NewTestRunner]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;This is a first draft for an AccUnit TestRunner.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;This is a first draft for an AccUnit TestRunner.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Datei:AccUnit_TestRunner_Draft.jpg|480px]]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff generator: internal 2026-04-19 13:01:23 --&gt;
&lt;/table&gt;</description>
			<pubDate>Sat, 14 Jan 2012 17:50:53 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Talk:NewTestRunner</comments>		</item>
		<item>
			<title>Josef Pötzl:&amp;#32;Created page with 'de:NewTestRunner This is a first draft for an AccUnit TestRunner.  480px   == Details ==  (Gathered mainly as results of the discussion…'</title>
			<link>https://en.accunit.access-codelib.net/index.php?title=NewTestRunner&amp;diff=2102&amp;oldid=prev</link>
			<description>&lt;p&gt;Created page with &amp;#39;&lt;a href=&quot;http://de.accunit.access-codelib.net/NewTestRunner&quot; class=&quot;extiw&quot; title=&quot;de:NewTestRunner&quot;&gt;de:NewTestRunner&lt;/a&gt; This is a first draft for an AccUnit TestRunner.  &lt;a href=&quot;/index.php?title=Datei:AccUnit_TestRunner_Draft.jpg&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Datei:AccUnit TestRunner Draft.jpg (page does not exist)&quot;&gt;480px&lt;/a&gt;   == Details ==  (Gathered mainly as results of the discussion…&amp;#39;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[de:NewTestRunner]]&lt;br /&gt;
This is a first draft for an AccUnit TestRunner.&lt;br /&gt;
&lt;br /&gt;
[[Datei:AccUnit_TestRunner_Draft.jpg|480px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Details ==&lt;br /&gt;
&lt;br /&gt;
(Gathered mainly as results of the discussion between Josef and Paul on Jan 13th, 2012)&lt;br /&gt;
&lt;br /&gt;
TO BE ORDERED AND REVIEWED&lt;br /&gt;
&lt;br /&gt;
=== Reponsibilites and Input/Output ===&lt;br /&gt;
&lt;br /&gt;
* '''TestManager'''&lt;br /&gt;
** Responsibility: Orchestrates the parts described below&lt;br /&gt;
** Responsibilites in particular:&lt;br /&gt;
*** A2: listening to TestCollector and maintaing the list of test related info in the repository&lt;br /&gt;
*** B0: instantiates the TestRunner for each new test run&lt;br /&gt;
*** B1: providing a list of tests to be run by the TestRunner&lt;br /&gt;
**** some sources: all tests from the repository, selection from a test tree, test according to the current selection of the IDE, a prioritizer component, selection by tags, ...)&lt;br /&gt;
*** B3: creating an instance for the current TestRun (actually before starting)&lt;br /&gt;
*** B2: starting the TestRunner (as reaction to some user action)&lt;br /&gt;
*** B4: listening to the outputs of the TestRunner and maintaining the current TestRun object&lt;br /&gt;
*** B5: adding the current TestRun object to the list of test runs in the repository&lt;br /&gt;
** TO BE CLARIFIED: Should this work as a facade?&lt;br /&gt;
** Events:&lt;br /&gt;
*** BeforeCollectingTests (maybe better: BeforeScanningProject? - there are also the test-related modules)&lt;br /&gt;
*** AfterCollectingTests (maybe better: AfterScanningProject? - reasoning as above)&lt;br /&gt;
*** AddedTestRunToRepository(ITestRun)&lt;br /&gt;
&lt;br /&gt;
* '''TestCollector'''&lt;br /&gt;
** Responsibility: Collects the relevant information for running tests. (rephrased: In order to run a test, no one has to go back to the VBProject to look up something)&lt;br /&gt;
** Input: Events from a component in VbeProjectManagement or just a list of all modules in the VBProject&lt;br /&gt;
** Output: IObservable&amp;lt;ITest&amp;gt;/Events&lt;br /&gt;
*** FoundTestMethod(ITest)&lt;br /&gt;
*** LostTestMethod(ITest)&lt;br /&gt;
*** FoundTestRelatedMethod(IAttributedMethod)&lt;br /&gt;
*** LostTestRelatedMethod(IAttributedMethod)&lt;br /&gt;
** maybe better name: ProjectScanner&lt;br /&gt;
*** there are not just the test classes itself, but also the test-related modules&lt;br /&gt;
** TestManager listens to the output and maintains the list of all test related info in the repository&lt;br /&gt;
&lt;br /&gt;
* '''Repository.AllTests'''&lt;br /&gt;
** Responsibility: Represents the current structure of the VBProject with respect to tests&lt;br /&gt;
** Flat list (no fixture-tests hierarchy), hierarchies must be derived by UI components&lt;br /&gt;
** Input: Method calls by the TestManager&lt;br /&gt;
** Output: Enumeration/IObservable&amp;lt;ITest&amp;gt;/Events:&lt;br /&gt;
*** AddedTest(ITest)&lt;br /&gt;
*** RemovedTest(ITest)&lt;br /&gt;
*** Cleared&lt;br /&gt;
&lt;br /&gt;
* '''Repository.TestRelated''' (NOT IN THE DRAWING)&lt;br /&gt;
** Responsibility: Represents all modules in the VBProject that are just test-related, but not actually test fixtures.&lt;br /&gt;
** global info needed by the TestRunner&lt;br /&gt;
** Input: method calls by the TestManager in reaction to events from TestCollector&lt;br /&gt;
** Output: none&lt;br /&gt;
** The TestManager instantiates the TestRunner for each run with this information&lt;br /&gt;
&lt;br /&gt;
* '''TestRunner'''&lt;br /&gt;
** Responsibility: Coordinates the calls to the methods of the test suite (tests and tag hook handler)&lt;br /&gt;
** Note: Its the TestExecutor that actually invokes the methods via COM, not the TestRunner!&lt;br /&gt;
** Input:&lt;br /&gt;
*** List of tests (subset of test in Repository.AllTests)&lt;br /&gt;
*** List of test related modules (Repository.TestRelated)&lt;br /&gt;
** Output: IObservable&amp;lt;ITestResult&amp;gt;/Events&lt;br /&gt;
*** StartingTestRun(bool cancel)&lt;br /&gt;
*** StartedTestRun(ITestRun)&lt;br /&gt;
*** TagSetChanged(IEnumerable&amp;lt;ITagChangeInfo&amp;gt;)&lt;br /&gt;
*** FinishedTestRun(ITestRun)&lt;br /&gt;
*** ITestRun steadiliy populated during the test run&lt;br /&gt;
** The calling of tag hook handlers (see below) is also managed by the TestRunner&lt;br /&gt;
&lt;br /&gt;
* '''TestExecutor'''&lt;br /&gt;
** Responsibility: Is able to instantiate classes and invoke methods and understands exceptions from failed assertions&lt;br /&gt;
* Input:&lt;br /&gt;
** name of the class to instantiate/terminate&lt;br /&gt;
** name of the method to execute (along with parameters in the case of a call for a row test)&lt;br /&gt;
** Don't use ITest to pass the input parameters.&lt;br /&gt;
*** That's too much (attributes not needed generally, rowdata needed without name of the row or ignored state)&lt;br /&gt;
*** DIFFERENT FROM THE DRAWING&lt;br /&gt;
* Output:&lt;br /&gt;
** True: method call succeeded&lt;br /&gt;
** False: an assertion failed (assertion message is provided to the TestRunner)&lt;br /&gt;
** Non-Assert exceptions are passed to the TestRunner as is&lt;br /&gt;
*** Future extension point: special handling for exceptions&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
=== Conceptual ===&lt;br /&gt;
&lt;br /&gt;
* No support of FixtureSetup/FixtureTeardown&lt;br /&gt;
** Seldom used, and when, then often misused (violating independency of tests)&lt;br /&gt;
** More global setup/cleanup (as setting up backend for test) via tag-hooks&lt;br /&gt;
&lt;br /&gt;
* Tags applied on module level inherit to all children (test methods and rows in row tests)&lt;br /&gt;
&lt;br /&gt;
* Support for tag hierarchies?&lt;br /&gt;
** path notation: e.g. DatabaseTests/ADO/Oracle&lt;br /&gt;
&lt;br /&gt;
* No guarantee how often a test class will be instantiated during a test run&lt;br /&gt;
** discourage to use class scope (Initialize/Terminate and Fields)&lt;br /&gt;
&lt;br /&gt;
* Tag Hooks&lt;br /&gt;
** Every time a tag appears during a test run, a setup tag-hook is called (if available)&lt;br /&gt;
** Every time a tag vanishes during a test run, a teardown tag-hook is called (if available)&lt;br /&gt;
** Tag hook handler&lt;br /&gt;
*** reside in class modules annotated with AccUnit:TestRelated&lt;br /&gt;
*** are tagged with AccUnit:Setup(&amp;quot;MyTag&amp;quot;), and AccUnit:Teardown(&amp;quot;MyTag&amp;quot;), resp.&lt;br /&gt;
&lt;br /&gt;
* Test related modules (AccUnit:TestRelated) can be standard modules or class modules&lt;br /&gt;
** Test related modules with tag hooks (AccUnit:Setup(&amp;quot;MyTag&amp;quot;), AccUnit:Teardown(&amp;quot;MyTag&amp;quot;)) must reside in class modules&lt;br /&gt;
*** This helps to avoid global state enduring over the end of a test run (still could be done by copy state to fields in standard module)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Technical ===&lt;br /&gt;
&lt;br /&gt;
* New assembly AccUnit.Framework&lt;br /&gt;
** No References to COM (SimplyVbUnit/Access/TLI)&lt;br /&gt;
&lt;br /&gt;
* No IFixture&lt;br /&gt;
** By now, no relevant information besides the name&lt;br /&gt;
** The name of the fixture is a property of ITest&lt;br /&gt;
&lt;br /&gt;
* AccUnit:Rollback and AccUnit:ClickingMsgBox implemented as kind of plugins to the structure&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Data structures ===&lt;br /&gt;
&lt;br /&gt;
* IAttributedMethod&lt;br /&gt;
** modulename&lt;br /&gt;
** methodname&lt;br /&gt;
** attributes&lt;br /&gt;
&lt;br /&gt;
* ITest&lt;br /&gt;
** fixturename&lt;br /&gt;
** methodname&lt;br /&gt;
** attributes&lt;br /&gt;
** tags (specialized subset of attributes)&lt;br /&gt;
** rowdata (specialized subset of attributes)&lt;br /&gt;
&lt;br /&gt;
* ITestRun&lt;br /&gt;
** ProjectInfo (Name of the file, version info?, ...)&lt;br /&gt;
** List&amp;lt;ITestResult&amp;gt;&lt;br /&gt;
** State (prepared, running, finished, canceled, aborted)&lt;br /&gt;
** StartedAt&lt;br /&gt;
** EndedAt&lt;br /&gt;
** Summary&lt;br /&gt;
&lt;br /&gt;
* ITagChangeInfo&lt;br /&gt;
** Tag (string)&lt;br /&gt;
** Change (appeared/disappeared)&lt;br /&gt;
&lt;br /&gt;
*ITestResult&lt;br /&gt;
** ITest&lt;br /&gt;
** status (success, failed, error, ignored) ... error = runtime error; failed = error by asserts&lt;br /&gt;
** message (??? rowtest: summary or null ?)&lt;br /&gt;
** rowdata (testresults of rows)&lt;br /&gt;
** StartedAt&lt;br /&gt;
** EndedAt&lt;br /&gt;
** Summary ??? ... summary of row tests?&lt;br /&gt;
&lt;br /&gt;
=== Open issues ===&lt;br /&gt;
* Test Reactive Extensions in a VBE AddIn&lt;/div&gt;</description>
			<pubDate>Sat, 14 Jan 2012 17:50:36 GMT</pubDate>			<dc:creator>Josef Pötzl</dc:creator>			<comments>https://en.accunit.access-codelib.net/Talk:NewTestRunner</comments>		</item>
	</channel>
</rss>