mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2025-12-07 15:22:31 +01:00
Author:halw
Date:2009-03-06T18:23:49.000000Z git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@200 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
@@ -1,10 +1,9 @@
|
||||
[[Property:title|19 Appendix: Writing Documentation Filters with EFF, the Eiffel Filter Format]]
|
||||
[[Property:link_title|Appendix: Writing Documentation Filters with EFF, the Eiffel Filter Format]]
|
||||
[[Property:title|Appendix: Writing Documentation Filters with EFF, the Eiffel Filter Format]]
|
||||
[[Property:weight|6]]
|
||||
[[Property:uuid|0d17d433-3d4f-9575-49f7-d97eccb1a5b1]]
|
||||
This appendix provides reference information, not needed in simple uses of EiffelStudio.
|
||||
|
||||
We saw in the [[8 PRODUCING AND EXPORTING DOCUMENTATION|section on documentation]] that you can output documentation about your system in many different formats. A number of predefined formats are available, from Postscript to Microsoft's Rich Text Format, FrameMaker, HTML with and without style sheets, TEX and others. There's nothing special about these formats: they just make their conventions known to EiffelStudio through a '''filter''' expressed in a simple notation called EFF, or Eiffel Filter Format. If you have a favorite format that you'd like EiffelStudio to use for producing documentation, you can define your own filter in EFF. Applications include:
|
||||
We saw in the [[PRODUCING AND EXPORTING DOCUMENTATION|section on documentation]] that you can output documentation about your system in many different formats. A number of predefined formats are available, from Postscript to Microsoft's Rich Text Format, FrameMaker, HTML with and without style sheets, TEX and others. There's nothing special about these formats: they just make their conventions known to EiffelStudio through a '''filter''' expressed in a simple notation called EFF, or Eiffel Filter Format. If you have a favorite format that you'd like EiffelStudio to use for producing documentation, you can define your own filter in EFF. Applications include:
|
||||
* Producing a variant of an existing format, to support some "house style" that you have defined, such as a different formatting or fonts.
|
||||
* Producing documentation for a text processing tool that's not among those supported by default.
|
||||
* Producing documentation that purposely omit some parts of Eiffel texts, in line with the ideas applied by the Contract and Flat Contract forms.
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
[[Property:title|9 Browsing Features]]
|
||||
[[Property:link_title|Browsing Features]]
|
||||
[[Property:title|Browsing Features]]
|
||||
[[Property:weight|-6]]
|
||||
[[Property:uuid|2c0b0a6c-08e8-fdbc-1eab-e2d87b01ce48]]
|
||||
Let us get back to EiffelStudio. We won't need a browser any more for this Tour, so you may close any browser window (other than the <span>current</span> window if you are reading this in HTML!) opened to look up the generated documentation in the previous section.
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
[[Property:title|17 The Command-Line Compiler]]
|
||||
[[Property:link_title|The Command-Line Compiler]]
|
||||
[[Property:title|The Command-Line Compiler]]
|
||||
[[Property:weight|4]]
|
||||
[[Property:uuid|62bd8d62-a734-3ec0-9533-eaa096e7b81f]]
|
||||
Along with compilation from within EiffelStudio, it is possible to start compilation from a command line (shell). This is useful in particular to recompile your system automatically as part of a script.
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
[[Property:title|4 Compiling and Executing a System]]
|
||||
[[Property:link_title|Compiling and Executing a System]]
|
||||
[[Property:title|Compiling and Executing a System]]
|
||||
[[Property:weight|-12]]
|
||||
[[Property:uuid|58494be3-f29f-3a15-a27e-e635bdc71c53]]
|
||||
EiffelStudio first comes up with a window and a dialog on top of it; the dialog looks like this (from here on the look-and-feel will be different on non-Windows platform, but the contents will be the same):
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
[[Property:title|14 Computing Project Metrics]]
|
||||
[[Property:link_title|Computing Project Metrics]]
|
||||
[[Property:title|Computing Project Metrics]]
|
||||
[[Property:weight|0]]
|
||||
[[Property:uuid|8d1a3556-d9a2-0ac8-4d54-458f18cb56ad]]
|
||||
In earlier sections we saw how EiffelStudio provides extensive documentation on your systems. That information was qualitative. Project managers and developers will also be interested in <span>quantitative</span> information about their projects. You can get such information through the <code>Metrics</code> tool, which enables you to perform a number of operations, detailed over the next few pages:
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
[[Property:title|2 Copying the Example Files]]
|
||||
[[Property:link_title|Copying the Example Files]]
|
||||
[[Property:title|Copying the Example Files]]
|
||||
[[Property:weight|-14]]
|
||||
[[Property:uuid|bb8ff7d7-2e93-d150-339c-d9afb967bc98]]
|
||||
{{note|If you are using Eiffel on a personal computer under Windows, you can work directly on the installation directory and don't need to make copies of files as per the present section. Skip directly to the next section, 3. Do read the present section and apply its instructions if you work under Unix, or may have to share the Eiffel installation with other users, do not have write permissions on the installation, or want to keep the installation unchanged.}}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
[[Property:title|13 Debugging and Run-time Monitoring]]
|
||||
[[Property:link_title|Debugging and Run-time Monitoring]]
|
||||
[[Property:title|Debugging and Run-time Monitoring]]
|
||||
[[Property:weight|-2]]
|
||||
[[Property:uuid|a53f6a74-7145-35ab-ed5e-2905aeb88774]]
|
||||
The next set of EiffelStudio capabilities enable you to control and monitor the execution of your systems. The obvious immediate application is to debugging; but the more general goal is to let you follow the execution of your systems, explore the object structures, and gain a better understanding of the software.
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
[[Property:title|18 Executing a System Within and Without EiffelStudio]]
|
||||
[[Property:link_title|Executing a System Within and Without EiffelStudio]]
|
||||
[[Property:title|Executing a System Within and Without EiffelStudio]]
|
||||
[[Property:weight|5]]
|
||||
[[Property:uuid|8256398e-d1a9-0471-664a-3225c7dfb306]]
|
||||
To complete this study of the compilation process let's see a few more properties of how you can <span>execute</span> an Eiffel system, both in EiffelStudio and as a compiled system that you deliver to its users, who may need to run it without EiffelStudio.
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
[[Property:title|15 Graphics-based Design]]
|
||||
[[Property:link_title|Graphics-based Design]]
|
||||
[[Property:title|Graphics-based Design]]
|
||||
[[Property:weight|1]]
|
||||
[[Property:uuid|78239225-67a7-8718-857d-f2c8fb70ef18]]
|
||||
So far the project modifications that we have made used the text editor in the Editing Tool. We used graphics, but as a way to reflect system structures, not to build them ( [[6 STARTING TO BROWSE|See "A Peek at Diagrams" in Starting to Browse]] , and subsequent discussions).
|
||||
So far the project modifications that we have made used the text editor in the Editing Tool. We used graphics, but as a way to reflect system structures, not to build them ( [[STARTING TO BROWSE|See "A Peek at Diagrams" in Starting to Browse]] , and subsequent discussions).
|
||||
|
||||
In line with the principles of seamlessness and reversibility recalled at the beginning of this Tour, EiffelStudio's text-diagram interaction is bi-directional. When you make a textual modification, the next incremental recompilation will update the diagram; but you can also work directly from the diagram, and the text will be generated or updated after each graphical operation.
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
[[Property:title|12 Handling Syntax and Validity Errors]]
|
||||
[[Property:link_title|Handling Syntax and Validity Errors]]
|
||||
[[Property:title|Handling Syntax and Validity Errors]]
|
||||
[[Property:weight|-3]]
|
||||
[[Property:uuid|c2be8123-b793-f8ce-e082-d4fdacc6bbe6]]
|
||||
So far we have tried to make sure that everything went smoothly. But in actual software development you may encounter error situations, and it is useful to know what can happen then.
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
[[Property:title|16 How EiffelStudio Compiles]]
|
||||
[[Property:link_title|How EiffelStudio Compiles]]
|
||||
[[Property:title|How EiffelStudio Compiles]]
|
||||
[[Property:weight|3]]
|
||||
[[Property:uuid|6fc86303-8afe-78af-6ca7-2853e8bfcbc3]]
|
||||
So far we have relied on the compiling capabilities of EiffelStudio without exploring them in any detail. We must now understand the principles behind EiffelStudio's compiling strategy, in particular how it reconciles fast turnaround, efficient generated code, and strong typing.
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
[[Property:title|5 A Look at the Project Directory]]
|
||||
[[Property:link_title|A Look at the Project Directory]]
|
||||
[[Property:title|A Look at the Project Directory]]
|
||||
[[Property:weight|-11]]
|
||||
[[Property:uuid|d82eae3f-fe0d-3e27-008e-61afd05f8cb0]]
|
||||
Before we proceed with the facilities of the environment, let's take a look at the way EiffelStudio organizes project files.
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
[[Property:title|8 Producing and Exporting Documentation]]
|
||||
[[Property:link_title|Producing and Exporting Documentation]]
|
||||
[[Property:title|Producing and Exporting Documentation]]
|
||||
[[Property:weight|-7]]
|
||||
[[Property:uuid|ca43a3c2-9e1a-a69f-81cf-55d0b12294ea]]
|
||||
Software development is, most of the time, cooperative work. You must tell the rest of the team what you're up to, and find out what they can offer you. Bring in distributed development -- increasingly common these days, with some people working at headquarters, others at home, others traveling, an offshore team half a world away <span>...</span> -- and the problem becomes even more critical.
|
||||
@@ -44,7 +43,7 @@ The filter names correspond to major documentation formats which EiffelStudio su
|
||||
Not only do these predefined filters provide support for a number of important industry formats; better yet, if you want <span>another</span> format not represented on the list, or would like to adapt an existing format to your own style preferences, it's easy to define a new filter. The list that EiffelStudio displays comes from the files with a <code>.fil</code> extension that it finds in a subdirectory of the installation:
|
||||
<code>$ISE_EIFFEL/studio/filters</code>
|
||||
|
||||
To define a new filter, simply add a file to this directory. Filters are expressed in a simple notation called EFF ( <span>Eiffel Filter Format</span> ), general enough to support a wide variety of tools for text processing, project management, Web publishing etc. The best way to define a new filter is usually to start from an existing one and adapt it. You will find the specification of EFF at the end of this manual, [[19 APPENDIX: WRITING DOCUMENTATION FILTERS WITH EFF, THE EIFFEL FILTER FORMAT|here]] .
|
||||
To define a new filter, simply add a file to this directory. Filters are expressed in a simple notation called EFF ( <span>Eiffel Filter Format</span> ), general enough to support a wide variety of tools for text processing, project management, Web publishing etc. The best way to define a new filter is usually to start from an existing one and adapt it. You will find the specification of EFF at the end of this manual, [[APPENDIX: WRITING DOCUMENTATION FILTERS WITH EFF, THE EIFFEL FILTER FORMAT|here]] .
|
||||
|
||||
==Generating an HTML record of your project==
|
||||
|
||||
@@ -145,7 +144,7 @@ The class bubbles in a diagram are all hyperlinks. To see the HTML documentation
|
||||
|
||||
The display shows key information on the class, in a form called the "Chart format" listing the ancestors and then the features, divided into <code>Queries</code> (shown in part on the figure) and <code>Commands</code>. Note that all class names and feature names are hyperlinks, which would lead you to the appropriate place in a class text.
|
||||
|
||||
The top row of hyperlinks now includes class formats corresponding to those we discovered under EiffelStudio ( [[7 CLASS VIEWS|"CLASS VIEWS"]] ): <code>Relations</code> (covering ancestors, descendants, clients, suppliers, ), full <code>Text</code>, <code>Contracts</code>, <code>Flat contracts</code>. Click <code>Flat contracts</code> to see the full interface of the class:
|
||||
The top row of hyperlinks now includes class formats corresponding to those we discovered under EiffelStudio ( [[CLASS VIEWS|"CLASS VIEWS"]] ): <code>Relations</code> (covering ancestors, descendants, clients, suppliers, ), full <code>Text</code>, <code>Contracts</code>, <code>Flat contracts</code>. Click <code>Flat contracts</code> to see the full interface of the class:
|
||||
|
||||
[[Image:index-49]]
|
||||
|
||||
@@ -153,7 +152,7 @@ We'll stop this brief review here but you may continue browsing through the HTML
|
||||
|
||||
Although we suggest staying with the standard, you can easily change any convention that doesn't match your own preferences:
|
||||
* For the EiffelStudio appearance, use <code lang=text>Tools --> Preferences</code>.
|
||||
* For the HTML appearance, if you know about Cascading Style Sheets (CSS) for HTML, edit the style sheet <code>default.css</code>. You will find this file in the generated documentation directory; alternatively, to ensure the changes are applicable to the generated documentation of all future projects, edit <code>defaults.css</code> in the directory after backing it up. For more profound changes in the structure of the generated HTML, you may also backup and edit the Eiffel Filter Format file <code>html-stylesheet.fil</code> in the same directory. EFF is described in [[19 APPENDIX: WRITING DOCUMENTATION FILTERS WITH EFF, THE EIFFEL FILTER FORMAT| Chapter 19, "Appendix"]] .
|
||||
* For the HTML appearance, if you know about Cascading Style Sheets (CSS) for HTML, edit the style sheet <code>default.css</code>. You will find this file in the generated documentation directory; alternatively, to ensure the changes are applicable to the generated documentation of all future projects, edit <code>defaults.css</code> in the directory after backing it up. For more profound changes in the structure of the generated HTML, you may also backup and edit the Eiffel Filter Format file <code>html-stylesheet.fil</code> in the same directory. EFF is described in the [[APPENDIX: WRITING DOCUMENTATION FILTERS WITH EFF, THE EIFFEL FILTER FORMAT|Appendix]] .
|
||||
<code>
|
||||
$ISE_EIFFEL/studio/filters</code>
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
[[Property:title|11 Recompiling and Editing]]
|
||||
[[Property:link_title|Recompiling and Editing]]
|
||||
[[Property:title|Recompiling and Editing]]
|
||||
[[Property:weight|-4]]
|
||||
[[Property:uuid|6574a573-48b9-6088-aa98-53d7119d7c5c]]
|
||||
So far we have relied on existing class texts. Fascinating as it may be to explore excellent software such as EiffelBase, you probably want to write your own too (with the help of the reusable components in the Eiffel libraries). EiffelStudio provides a built-in editor -- as well as the ability to use some other editor if you prefer -- and sophisticated compilation mechanisms.
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
[[Property:title|10 Retargeting Through Pick-and-Drop]]
|
||||
[[Property:link_title|Retargeting Through Pick-and-Drop]]
|
||||
[[Property:title|Retargeting Through Pick-and-Drop]]
|
||||
[[Property:weight|-5]]
|
||||
[[Property:uuid|a3789781-153b-7f4d-bb94-4bdf8923fb56]]
|
||||
You now know quite a few ways of re-targeting a Development Window to a "development object" -- a class or a feature -- but haven't yet seen one of the most important: "Pick-and-Drop", which lets you pick a development object that you have spotted anywhere in the display, and retarget the current tool, or another, to it.
|
||||
@@ -8,7 +7,7 @@ You now know quite a few ways of re-targeting a Development Window to a "develop
|
||||
|
||||
We restart from the last state, with a Development Window target to feature <code>forth</code> of class <code>LIST</code>. The next figure shows the whole window; it should be exactly what you see as a result of the last operations. We'll use the <code>Ancestor versions</code> view of the <code lang=text>Feature </code>Tab.
|
||||
|
||||
If for some reason the window doesn't look like the next figure, it's easy to reconstruct it: make sure both the Cluster tree and the Feature tree are visible (if not, click the corresponding buttons as detailed [[7 CLASS VIEWS|here]] ); target the tool to class <code>LIST</code> ; target further to its feature <code>forth</code> by clicking that feature name in the Feature tree; make sure both the top-right Editing Tool and the bottom-right Context Tool are visible; in the Context Tool, select the <code lang=text>Feature</code> Tab and its <code>Descendant versions </code>format.
|
||||
If for some reason the window doesn't look like the next figure, it's easy to reconstruct it: make sure both the Cluster tree and the Feature tree are visible (if not, click the corresponding buttons as detailed [[CLASS VIEWS|here]] ); target the tool to class <code>LIST</code> ; target further to its feature <code>forth</code> by clicking that feature name in the Feature tree; make sure both the top-right Editing Tool and the bottom-right Context Tool are visible; in the Context Tool, select the <code lang=text>Feature</code> Tab and its <code>Descendant versions </code>format.
|
||||
|
||||
[[Image:index-60]]
|
||||
|
||||
@@ -138,34 +137,34 @@ As a conclusion to this review of Pick-and-Drop let's recapitulate the various w
|
||||
|-
|
||||
| Type class name, then Enter, in class field at top-left of tool
|
||||
| Same
|
||||
| [[6 STARTING TO BROWSE|"Retargeting by name" in Chapter 6, "Starting To Browse".]]
|
||||
| [[STARTING TO BROWSE|"Retargeting by name" in the chapter "Starting To Browse".]]
|
||||
|-
|
||||
| Choose class in Cluster tree
|
||||
| Same
|
||||
| [[6 STARTING TO BROWSE|"Retargeting from the Cluster Tree" in Chapter 6, "Starting To Browse". ]]
|
||||
| [[STARTING TO BROWSE|"Retargeting from the Cluster Tree" in the chapter "Starting To Browse". ]]
|
||||
|-
|
||||
| Choose class in Favorites
|
||||
| Same
|
||||
| [[6 STARTING TO BROWSE|"Adding to Favorites" in Chapter 6, "Starting To Browse".]]
|
||||
| [[STARTING TO BROWSE|"Adding to Favorites" in the chapter "Starting To Browse".]]
|
||||
|-
|
||||
| "Back" button
|
||||
| Same
|
||||
| [[6 STARTING TO BROWSE|"Moving back and forth" in Chapter 6, "Starting To Browse".]]
|
||||
| [[STARTING TO BROWSE|"Moving back and forth" in the chapter "Starting To Browse".]]
|
||||
|-
|
||||
| "Forth" button
|
||||
| Same
|
||||
| [[6 STARTING TO BROWSE|"Moving back and forth" in Chapter 6, "Starting To Browse".]]
|
||||
| [[STARTING TO BROWSE|"Moving back and forth" in the chapter "Starting To Browse".]]
|
||||
|-
|
||||
| Pick class from history list
|
||||
| Same
|
||||
| [[6 STARTING TO BROWSE|"The Target History" in Chapter 6, "Starting To Browse".]]
|
||||
| [[STARTING TO BROWSE|"The Target History" in the chapter "Starting To Browse".]]
|
||||
|-
|
||||
| Pick-and-drop: right-click on class name or graphical representation found in any tool, then move, then right-click
|
||||
| Existing window/tool (of drop target)
|
||||
| [[10 RETARGETING THROUGH PICK-AND-DROP|"How Pick-and-Drop works" In Chapter 10, "Retargeting Through Pick-and-Drop.]]
|
||||
| [[RETARGETING THROUGH PICK-AND-DROP|"How Pick-and-Drop works" in the chapter "Retargeting Through Pick-and-Drop.]]
|
||||
|-
|
||||
| Control-right-click on class name or graphical representation found in any tool
|
||||
| New
|
||||
| [[6 STARTING TO BROWSE|"Starting a new tool" in Chapter 6, "Starting To Browse".]]
|
||||
| [[STARTING TO BROWSE|"Starting a new tool" in the chapter "Starting To Browse".]]
|
||||
|}
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
[[Property:title|6 Starting To Browse]]
|
||||
[[Property:link_title|Starting To Browse]]
|
||||
[[Property:title|Starting To Browse]]
|
||||
[[Property:weight|-10]]
|
||||
[[Property:uuid|cb6c2e52-d238-9b55-0b78-ab3af9568550]]
|
||||
It was important to take a look at how EiffelStudio stores your project, but unless your idea of fun is to poke around directories to look at compiler-generated files that's not really the exciting part yet. Among the most innovative aspects of EiffelStudio is a unique set of facilities to <span>browse</span> through a software system.
|
||||
@@ -52,7 +51,7 @@ This displays a class diagram in the Context Tool:
|
||||
|
||||
[[Image:index-12]]
|
||||
|
||||
{{note|If nothing appears in the Context Tool when you click the Diagram Tab, that's because the Context Tool and the Class View are not linked. Linking the two tools together will ensure that whenever a change is made in one tool the other will update to reflect that change. To link the tools select the menu entry <code>View -> Link context tool</code> ; this will display the diagram as shown. We'll see the explanation for this behavior in [[10 RETARGETING THROUGH PICK-AND-DROP|Isolating the context, pg 68]] }}
|
||||
{{note|If nothing appears in the Context Tool when you click the Diagram Tab, that's because the Context Tool and the Class View are not linked. Linking the two tools together will ensure that whenever a change is made in one tool the other will update to reflect that change. To link the tools select the menu entry <code>View -> Link context tool</code> ; this will display the diagram as shown. We'll see the explanation for this behavior in [[RETARGETING THROUGH PICK-AND-DROP|Isolating the context, pg 68]] }}
|
||||
|
||||
The diagram is cropped to the available area; to get the whole picture, resize the window from the bottom-right corner. You can now see the inheritance structure:
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
[[Property:title|3 Starting EiffelStudio and Opening a Project]]
|
||||
[[Property:link_title|Starting EiffelStudio and Opening a Project]]
|
||||
[[Property:title|Starting EiffelStudio and Opening a Project]]
|
||||
[[Property:weight|-13]]
|
||||
[[Property:uuid|676cf329-5640-69c4-d10b-b56fcd3f2ff9]]
|
||||
In the rest of this Tour <code>YOURDIR</code> denotes the directory where the example resides (the original, <code>$ISE_EIFFEL/examples/studio/tour</code> , or a copy). Launching will use the operating system's mechanism for starting a program, so we look separately at Windows and at Unix/OpenVMS.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[[Property:title|The Eiffel Testing Framework]]
|
||||
[[Property:title|Using the Eiffel Testing Framework]]
|
||||
[[Property:link_title|Using AutoTest]]
|
||||
[[Property:weight|-1]]
|
||||
[[Property:uuid|6b900a65-85c6-9cd6-ef57-ccd4b8decbef]]
|
||||
|
||||
@@ -61,7 +61,7 @@ The Eiffel Testing Framework interface helps you to create and execute tests on
|
||||
Whenever you use the Eiffel Testing Framework, it will find your test classes, those classes that inherit from EQA_TEST_SET. When you run tests, it will execute all the tests in those classes, or a subset of tests that you choose. So, you have probably figured out that the one class from the testing library that you may need to know a little about is EQA_TEST_SET. But you don't have to know very much, because the Eiffel Testing Framework can help you construct your test classes.
|
||||
|
||||
|
||||
==Types of Tests==
|
||||
==Types of tests==
|
||||
|
||||
There are three different types of tests supported by the Eiffel Testing Framework:
|
||||
* Manual tests
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[[Property:title|7 Class Views]]
|
||||
[[Property:title|Class Views]]
|
||||
[[Property:link_title|Viewing Classes]]
|
||||
[[Property:weight|-9]]
|
||||
[[Property:uuid|78136af1-5d7a-f3d2-9619-17f4c0541f1e]]
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
[[Property:title|The Eiffel Testing Framework]]
|
||||
[[Property:link_title|AutoTest]]
|
||||
[[Property:weight|-1]]
|
||||
[[Property:uuid|1d8cc843-238e-feaa-cfa6-629f080ffba7]]
|
||||
{{underconstruction}}
|
||||
|
||||
==Introduction==
|
||||
|
||||
The Eiffel Testing Framework is a facility within EiffelStudio that helps developers create, manage, and execute software tests. These pages are intended to describe the Eiffel Testing Framework interface and capabilities. In addition to this material, you will find a tutorial entitled [[Using the Eiffel Testing Framework]] in [[EiffelStudio: A Guided Tour]].
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user