bizz84 / acceptancemark Goto Github PK
View Code? Open in Web Editor NEWTool for generating Acceptance Tests in Xcode, inspired by Fitnesse
License: MIT License
Tool for generating Acceptance Tests in Xcode, inspired by Fitnesse
License: MIT License
This is an absolutely fantastic tool. I love it. Is support for generating Quick specs on the horizon?
As the AcceptanceMark test suite runs, we want to generate a test report.
One way of doing this is to extend the generated test methods to pipe the results (success/failure with details) into an HTML file with green/red tests similar to the Fitnesse Test Report.
One advantage of this is that if the test suite crashed, all test results up to that point will have been already written into a file. NOTE how to deal with tests running concurrently? Need to ensure the report file is written atomically and in order
The generated test methods are the ideal place for this as they have knowledge of the inputs, outputs and expected values for each test.
By running amtool
, all the required test files are written into an output folder.
Unless amtool
keeps the test target up to date, the user is responsible for making sure that all the test files are included in the test target, which is error prone and a time drain.
We need a way of hooking into the client Xcode project to keep the test target up to date.
And make tests index start from 1, not 0.
This is so that tests read like this:
func testMethod_run1()
func testMethod_run2()
...
rather than like this:
func testMethod_0()
func testMethod_1()
...
Test files should be named:
<namespace>_<heading>Tests.swift
Currently, this is:
<namespace>_<heading>.swift
Does the amtool require compatibility with Xcode 9. Would like to start using in a project using Swift 4 and Xcode 9.
Are there plans to make this be available for Swift 4?
amtool
executable (ideally no manual compilation needed)Currently, AcceptanceMark does not provide a way of describing what each test does.
It would be useful to add a description
column to describe what the test will do. Example:
year:Int | month:Int | day:Int | language | dateStyle | localizedDate | description | ||
---|---|---|---|---|---|---|---|---|
2016 | 9 | 16 | en | short | 9/16/16, 5:30 PM | formats the date in English | ||
2016 | 9 | 16 | fr | short | 16/09/2016 17:30 | formats the date in French | ||
2016 | 9 | 16 | it | short | 16/09/16, 17:30 | formats the date in Italian |
One way to do this is to add an additional optional column separator after the outputs. The additional description column could be used to name the test so that the generated method could change from this:
func testDateFormatting_row1()
to this:
func testDateFormatting_row1_formatsTheDateInEnglish()
.md
files encoding business rules.See amtool Specification file for details.
amtool
--input-dir
and -i
command line argument to specify input directory for reading .md
files.md
file in input directory, run test generator componentThis is a valid markdown table:
input1 | input2 | output | |
---|---|---|---|
1 | 2 | 3 |
This isn't.
| input1 |input2|| output |
| --- | -------|| ------- |
| 1 | 2 || 3 |
It would be desirable to ensure all tables are rendered correctly, while preserving the same rules for input/output fields
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.