-
Notifications
You must be signed in to change notification settings - Fork 754
/
changelog.txt
969 lines (757 loc) · 52.1 KB
/
changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
4.0
Breaking Changes:
+ Removed the ability to call steps from steps via string - https://github.com/SpecFlowOSS/SpecFlow/issues/1733
+ Removed .NET Core 2.1 support (min .NET Core version: 3.1)
+ Removed .NET Framework 4.6.1 support (min .NET Framework version: 4.6.2)
+ Bindigns declared as 'async void' are not allowed. Use 'async Task' instead.
Features:
+ Add an option to colorize test result output
+ Support for using Cucumber Expressions for step definitions.
+ Support Rule tags (can be used for hook filters, scoping and access through 'ScenarioInfo.CombinedTags')
+ Support for async step argument transformations. Fixes #2230
+ Support for ValueTask and ValueTask<T> binding methods (step definitions, hooks, step argument transformations)
+ Rules now support Background blocks
+ Collect binding errors (type load, binding, step definition) and report them as exception when any of the tests are executed.
Changes:
+ Existing step definition expressions detected to be either regular or cucumber expression. Check https://docs.specflow.org/projects/specflow/en/latest/Guides/UpgradeSpecFlow3To4.html for potential upgrade issues.
+ Default step definition skeletons are generating cucumber expressions.
+ 'ScenarioInfo.ScenarioAndFeatureTags' has been deprecated in favor of 'ScenarioInfo.CombinedTags'. Now both contain rule tags as well.
+ The interface ISpecFlowOutputHelper has been moved to the TechTalk.SpecFlow namespace (from TechTalk.SpecFlow.Infrastructure).
+ BugFix: SF2649 - AggregateExceptions thrown by async StepDefinition methods are no longer consumed; but passed along to the test host.
3.10
Features:
+ Proper async/await implementation
after 3.9.58
Features:
+ Introduce ability to register and resolve global dependencies using Autofac
Fixes:
+ Support [TableAliases] also outside `CreateInstance`&`CreateSet`. Fixes #1384
+ EnumerableValueRetriever resolves a ValueRetriever for each element in the enumeration instead of reusing the ValueRetriever of the first item in the list. Fixes #2626
3.9.58
Changes:
+ adjust the duration output to milliseconds if it's below 300ms threshold
+ Bug Fix: Tests with @ignore tag were still being run
3.9.52
Changes:
+ improve Service.GetValueRetrieverFor performance
+ Add DateTimeStyles to DateTimeValueRetriever and DateTimeOffsetValueRetriever
+ Update NUnit3TestGeneratorProvider - SetTestMethod and SetRowTest are now virtual so that it can be replaced by generator plugins
3.9.40
Changes:
+ Remove Cucumber- Messages
+ Made XUnit2TestGeneratorProvider.SetTestMethod virtual so that it can be replaced by generator plugins
+ .NET 6 support
3.9
Features:
+ Introduce NonParallelizableDecorator to opt out of feature level parallelization using tags #2409
Changes:
+ Update to Gherkin 19.0.3
+ Replace Utf8Json with SpecFlow.Internal.Json
+ Remove ParallelizeDecorator introduced in #746. Fixes #2442
+ Add semantic validator for duplicate Example column header names #2471
+ Update Available-Plugins document
+ Improved code generation for feature.cs and use the new TagHelper
Fixes:
+ Fix Type or namespace [TestNamespace]_XunitAssemblyFixture could not be found #1825
+ Fix Default value deserialization from specflow.json #2239 #2439
+ Should not log error if TestAssembly does not have a RuntimePlugin attribute #2432
+ Fixed context injection in static methods for Windsor plugin - Same as https://github.com/SpecFlowOSS/SpecFlow/issues/2307, but for Windsor
3.8
Features:
+ Route output API messages to tool output
+ Extend ISpecFlowOutputHelper with attachment handling
+ Add events (IExecutionEvent) to track what happens and when
Fixes:
+ Change CultureInfoScope to readonly struct
+ Improve performance / Reduce allocations of RuntimePluginLocator & LocationMerger
+ Fix spelling of IRuntimePluginTestExecutionLifecycleEventEmitter.RaiseExecutionLifecycleEvent
+ Improve performance by lazy initializing certain expensive members
+ Fixed bug in StepTextAnalyzer with empty string parameters
+ Update to NUnit 3.13.1 as minimum NUnit version
+ Step argument transformations should not be executed if a previous step had an error https://github.com/SpecFlowOSS/SpecFlow/issues/2382
+ Update "dotnet new" template in sync with the Visual Studio template
+ Fix NullReferenceException during assembly loading in PluginAssemblyResolver #2344 #2403
+ Update MsTest.TestFramework to 2.1.2 as minimum MsTest version
+ Auto-update livingdoc major-minor in "dotnet new" template
3.7
Features:
+ support translations for true value
Fixes:
+ Thread-safe object resolution in BoDi
+ Automatically include TechTalk.SpecFlow.MSTest.SpecFlowPlugin.dll as a deployment item for MSTest V2 https://github.com/SpecFlowOSS/SpecFlow/issues/2076
+ Before Feature hooks should not be executed when the feature is ignored https://github.com/SpecFlowOSS/SpecFlow/issues/2234
+ Cleanup scenario context even after an AfterScenario hook error
+ Load RuntimePlugins to the same AssemblyLoadContext
+ Capture hook errors and call plugin hooks after hook error
+ Fixed context injection in static methods for Autofac plugin https://github.com/SpecFlowOSS/SpecFlow/issues/2307
Changes:
+ Ignore tag handling: generate test framework specific ignore attributes
3.6
Features:
+ Add possibility to have a custom pending step message https://github.com/SpecFlowOSS/SpecFlow/issues/1382
+ Be able to access MSTest TestContext in BeforeTestRun/AfterTestRun hook https://github.com/SpecFlowOSS/SpecFlow/issues/1859
+ Access Feature level tags in Scenario level via ScenarioAndFeatureTags https://github.com/SpecFlowOSS/SpecFlow/issues/2024
+ Search for RuntimePlugins in the TestAssembly https://github.com/SpecFlowOSS/SpecFlow/issues/1395
Fixes:
+ Copy specflow.json to the output directory
+ SpecFlow.ExternalData plugin works with SpecFlow 3.5 https://github.com/SpecFlowOSS/SpecFlow/issues/2218
+ Show Duration for failed step in Results https://github.com/SpecFlowOSS/SpecFlow/issues/2091
+ Do not show generation error in case of empty feature file https://github.com/SpecFlowOSS/SpecFlow/issues/878
+ Fix StepArgumentTrasformation with same return type but different parameters https://github.com/SpecFlowOSS/SpecFlow/issues/469
+ ScenarioExecutionStatus displays as OK if test failed in before scenario https://github.com/SpecFlowOSS/SpecFlow/issues/1646
3.5.14
Changes:
+ Windsor plugin no longer uses scoped lifestyle due to async call context issues
3.5
Features:
+ .NET 5 Support
Fixes:
+ System.* packages are no longer referenced in .csproj files. Instead Framework Reference is used. #1962
+ Result collection has not been started issues #2008 #2159 #1956
3.4.31
Changes:
+ Unit test provider independent ISpecFlowOutputHelper implementation
+ Row extension method `GetBoolean` is now case insensitive
+ Add support for Castle Windsor dependency injection via plugin
+ Auto-register bindings in Castle Windsor plugin
Fixes:
+ Support dynamic assemblies in container initialization #2110
3.4.3
Changes:
+ Allow incremental builds to work correctly for projects with MSTest/NUnit/xUnit integration
+ Extend FeatureInfo with FolderPath information
+ RuntimePluginTestExecutionLifecycleEvents - allow runtime plugins to subscribe to test execution lifecycle events (similarly to the hooks in binding code)
+ Remove `TestRunEnd` extension point (obsolete with RuntimePluginTestExecutionLifecycleEvents)
API changes:
+ IGherkinParser.Parse method signature change - external usages must be updated
3.3.74
Fixes:
+ Fix step definition attribute support for the Visual Studio Extension #2065
Changes:
+ Add NullValueRetriever back again (was accidentally removed with https://github.com/SpecFlowOSS/SpecFlow/pull/1928) - https://github.com/SpecFlowOSS/SpecFlow/pull/2067
+ Add a new `TestRunEnd` extension point for plugins
3.3.57
Changes:
+ Add `SpecFlow.Tools.MSBuild.Generation` as a dependency to the `SpecFlow.xUnit`, `SpecFlow.MSTest`, `SpecFlow.NUnit` packages
3.3
Features:
+ Allow the use of custom subclasses of StepDefinitionBaseAttribute.
+ Be able to get the arguments of the current executed Scenario Outline example - https://github.com/SpecFlowOSS/SpecFlow/pull/1988
Fixes for Development:
+ Changed unit tests to ignore custom user overrides to data formatting in en-US locale
+ Some errors could randomly happen when running tests in parallel
API Changes:
+ Now allows override of method categories in NUnit to allow for plugin development on this function
+ (breaking) tableRow.GetEnum<T>(..) has now a class contraint on T
+ (breaking) tableRow.GetTheEnumValue<T>(..) has now a class contraint on T
+ Added tableRow.GetDiscreteEnum<T>
+ TechTalk.SpecFlow.Assist.ValueRetrievers.* public classes have undergone some refactoring. IValueRetriever interface remains unchanged.
Changes:
+ Performance and memory improvements for `table.CreateSet` and `table.CreateInstance`
+ Improved performance of ValueRetrievers
+ Removed Nullable*ValueRetriever as nullability is now handled by the *ValueRetriever directly.
+ Changed all specflow.org hyperlinks to https (docs, generated code, packages)
+ Changed minimal .NET Framework version from .NET 4.5 to .NET 4.6.1
+ Changed minimal .NET Framework version of the Generator plugins and the SpecFlow.Tools.MSBuild.Generation package from .NET 4.7.1 to .NET 4.6.1
+ Downgrade to be able to use xUnit 2.4.0 (because VS Templates are using this version)
Fixes:
+ Empty value for nullable enum should not throw an exception
+ RegEx performance fix in TEHelpers (Table column name validation)
+ Adjust assembly loading of Generator plugins to changed behavior in .NET Core SDK 3.1.200 and later - https://github.com/SpecFlowOSS/SpecFlow/issues/1912
+ Add auto-generated comment for StyleCop to ignore the Assemblyhook files
3.1.97
Fixes:
+ Update the default C# skeleton template to use context injection instead of the deprecated ScenarioContext.Current
+ Save generated files with UTF8-BOM encoding.
+ Revert "Replace NUnit.Framework.DescriptionAttribute to TestName in NUnit generator #1225" because of problems with the NUnit Test Adapter
+ Remove files with invalid characters from the FeatureFiles list (provided by msbuild)
Features:
+ Created VerifyAllColumnsBound check for `table.CreateSet` and `table.CreateInstance`
3.1.89
Fixes:
+ Replace NUnit.Framework.DescriptionAttribute to TestName in NUnit generator #1225
+ Import MSBuild Tasks only once (fixes https://github.com/SpecFlowOSS/SpecFlow/issues/1699)
3.1 - 2020-01-09
Features:
+ Added ISkippedStepHandler interface for registering custom callback handler objects that will be used when a Step is skipped
3.1 - 2020-01-08
Fixes:
+ Support for empty RootNamespace broken in 3.1 https://github.com/techtalk/SpecFlow/issues/1846
3.1 - 2019-12-19
Features:
+ .NET Core 3.1 Support
3.1
Features:
+ First set of cucumber-messages are implemented
- TestRunStarted
- TestCaseStarted
- TestCaseFinished
- TestRunFinished
Documentation: <https://specflow.org/documentation/Cucumber-Messages/>
+ cucumber-messages can be enabled via specflow.json and app.config
+ File sinks for cucumber-messages can be configured
+ Support for Gherkin v6 "Rule" keyword
+ Support discovering step definitions from attributes that are derived from Given,When,Then or StepDefinition attributes (related to https://github.com/techtalk/SpecFlow/issues/1745)
Fixes:
+ AfterTestRun hook can take longer than 100ms on .NET Core https://github.com/techtalk/SpecFlow/issues/1348
+ Adjust parameter names generation in scenario outlines https://github.com/techtalk/SpecFlow/issues/1694
+ specflow.json can be used in SpecFlow+Runner with Process test thread isolation https://github.com/techtalk/SpecFlow/issues/1761
+ specflow.json is copied to output directory automatically https://github.com/techtalk/SpecFlow/issues/1315
+ A scenario with an "Examples" block should be treated as a Scenario Outline according to Gherkin v6
+ Step definition method with "object" parameter type might not match
+ AssemblyHooks are now marked as [GeneratedCode] so that Code Analyzers don't check them.
Changes:
+ Ignored Scenarios are skipped at runtime
+ SpecFlow.xUnit has a dependency on Xunit.SkippableFact
+ Added support for TypeConverter attributes.
+ All Steps.Given, Steps.When, Steps.Then, Steps.But and Steps.And methods are obsolete; these methods will be removed in SpecFlow 3.2. For more details refer to https://github.com/techtalk/SpecFlow/issues/1733
3.0 - 2019-06-27
Fixes:
+ Changed search path for specflow.json config file from Environment.CurrentDirectory to AppDomain.CurrentDomain.BaseDirectory (project directory)
+ Changed tests regarding configuration to look for expected strings such as "Using specflow.json" in the solution output rather then the test results output
3.0
Fixes:
+ Empty root namespaces now work when generating feature codebehind files with the MSBuild task
3.0 - 2019-04-24
Changes:
+ Adding the "AfterUpdateFeatureFile" target manually in the classic project format is not required anymore.
+ Adding "Custom Tool" back to the property page of a file https://github.com/techtalk/SpecFlow/issues/1508
3.0 - 2019-03-28
Breaking changes:
+ Registration of value retrievers and comparers changes from `RegisterValueComparer(___)` to `ValueComparers.Register(___)`
+ Calling CreateInstance on an object with a constructor with default parameters populates the object using the default parameters instead of nulls https://github.com/techtalk/SpecFlow/pull/1279
New Features:
+ .NET Core Support!!!
+ Separate addition of default and non-default value comparers https://github.com/techtalk/SpecFlow/pull/1257, https://github.com/techtalk/SpecFlow/pull/1277
+ ComparisonException indicates which value comparer was used for each difference https://github.com/techtalk/SpecFlow/issues/1253
+ BoolValueRetriver can now work with 1s and 0s https://github.com/techtalk/SpecFlow/issues/1216
+ Check for non-default constructors using case-insensitive comparison https://github.com/techtalk/SpecFlow/pull/1265
+ Syntax and structural changes in value retriever/comparer registration https://github.com/techtalk/SpecFlow/pull/1260
+ Add utility to get enum field value from TableRow.
+ Gherkin language data is used instead of an obsolete copy https://github.com/techtalk/SpecFlow/pull/1288
+ Loader exceptions are appended to the exception message https://github.com/techtalk/SpecFlow/issues/1293
+ Array & List support for any available item value retriever when instantiating class from Specflow table https://github.com/techtalk/SpecFlow/pull/1385
+ Add CreateInstance<T> support to a TableRow
+ Uri value retriever added https://github.com/techtalk/SpecFlow/pull/1403
+ Null value retriever added https://github.com/techtalk/SpecFlow/pull/1406
Fixes:
+ Visual Studio change detection integration for Net.SDK style projects via SpecFlow.Tools.MSBuild.Generation https://github.com/techtalk/SpecFlow/issues/1319
2.4 - 2018-08-20
New Features:
+ Added ability to convert type to same type or one of the base types https://github.com/techtalk/SpecFlow/pull/1110
+ Added support for customization of dependency injection at feature level via a runtime plugin event to raise feature dependencies https://github.com/techtalk/SpecFlow/pull/1141
+ Allow marking steps as Obsolete and have a configurable behavior for it https://github.com/techtalk/SpecFlow/pull/1140
+ IGherkinParser and IGherkinParserFactory interfaces added to support Gherkin Parser pluggability https://github.com/techtalk/SpecFlow/pull/1143
+ Assist: remove accents from column headers and property names when comparing objects to a table https://github.com/techtalk/SpecFlow/pull/1096
+ Added NUnit current TestContext scenario container registration. See https://github.com/techtalk/SpecFlow/issues/936
+ Array & List support for strings and enums when instantiating class from Specflow table https://github.com/techtalk/SpecFlow/pull/1018
+ MSBuild: Experimental support for deleting code-behind files on clean and rebuild when MSBuild https://github.com/techtalk/SpecFlow/pull/1167, https://github.com/techtalk/SpecFlow/pull/1208
+ MSBuild: Experimental support for Net.SDK project system, only for targeting desktop framework, .net core is supported and won't work https://github.com/techtalk/SpecFlow/pull/1223
+ Changed Parameter handling of specflow.exe https://github.com/techtalk/SpecFlow/pull/1112
Fixes:
+ Expose ScenarioInfo.Description parameter to get from context https://github.com/techtalk/SpecFlow/pull/1078
+ Resolved loading plugins multiple times. Issue: https://github.com/techtalk/SpecFlow/issues/888
+ Comparing Guid with string using case insensitivity to prevent throwing unnecessary exceptions https://github.com/techtalk/SpecFlow/pull/1145
+ MSBuild Generation: Visual Studio Incremental Build does not always regenerate files on feature file changes https://github.com/techtalk/SpecFlow/pull/1167
+ Fixed test body generation order for outline tests https://github.com/techtalk/SpecFlow/pull/1168
+ Update to Gherkin 5.1.0
+ Fix XUnit ITestOutputhelper and MSTest TestContext container registrations so that they are available in BeforeScenario hooks. See https://github.com/techtalk/SpecFlow/issues/936
+ Fixed CompareToSet not flagging missing rows correctly with dash https://github.com/techtalk/SpecFlow/pull/1098
+ Fix Used steps are falsely marked as unused in Step Definition Report https://github.com/techtalk/SpecFlow/issues/782
2.3.2 - 2018-04-17
Fixes:
+ Fix issue when using environment variables in a generator plugin's path https://github.com/techtalk/SpecFlow/pull/1045
+ Adjust order of plugin search paths https://github.com/techtalk/SpecFlow/pull/1086
+ Improve error message of test generator https://github.com/techtalk/SpecFlow/pull/1089
+ Fix assembly loading of dependencies in MSBuild task https://github.com/techtalk/SpecFlow/pull/1088
+ Make MSBuild Task debuggable https://github.com/techtalk/SpecFlow/pull/1087
+ Add licenses for all dependencies that are shipped with the NuGet packages
API Changes:
+ Generator probing functionality was moved from GeneratorPluginLoader to GeneratorPluginLocator https://github.com/techtalk/SpecFlow/pull/1045
2.3.1 - 2018-03-01
Fixes:
+ Fixes stepdefinitionreport to include bindings that use [StepDefinition] https://github.com/techtalk/SpecFlow/pull/1024
+ Fix code-behind generation for SpecFlow+Excel Excel files https://github.com/techtalk/SpecFlow/pull/1048
+ Fix runtime support for MSTest V2 https://github.com/techtalk/SpecFlow/pull/1053
2.3 - 2018-02-16
New Features:
+ Expose the current status (result) of the scenario execution in ScenarioContext via ScenarioExecutionStatus property https://github.com/techtalk/SpecFlow/pull/963
+ Allow aliasing of properties or fields on objects mapped from tables via the CreateInstance or CreateSet extensionMethods by utilising the TableAliases attribute https://github.com/techtalk/SpecFlow/pull/969
+ Allow custom XSLT files to include scripts https://github.com/techtalk/SpecFlow/pull/933
+ Allow tuples (with max 7 properties) in CreateSet/CreateInstance https://github.com/techtalk/SpecFlow/pull/951 (https://specflow.org/documentation/SpecFlow-Assist-Helpers/)
+ Add support for MSTest V2 and [DoNotParallelize] attributes https://github.com/techtalk/SpecFlow/pull/996
+ Environment variables are working in the plugin path https://github.com/techtalk/SpecFlow/pull/986
+ Update to latest Gherkin parser https://github.com/techtalk/SpecFlow/pull/1015
Fixes:
+ Meaningful exception is thrown when there are no Examples or Examples are empty in Scenario Outline https://github.com/techtalk/SpecFlow/pull/967
+ "copy" feature in the step definition report is not working in modern browsers https://github.com/techtalk/SpecFlow/issues/958 https://github.com/techtalk/SpecFlow/issues/915
+ Xunit support @ignore on a feature level https://github.com/techtalk/SpecFlow/pull/968
+ Format error message to facilitate identification of ambiguous steps https://github.com/techtalk/SpecFlow/issues/994
+ Adds fix for .feature files path parsing on macOS / Unix https://github.com/techtalk/SpecFlow/pull/1012
+ More detailed output of generator errors is written in the code behind file https://github.com/techtalk/SpecFlow/pull/1013
API Changes:
+ GetValue of ValueRetrievers are virtual https://github.com/techtalk/SpecFlow/pull/981
2.2.1 - 2017-09-12
New Features:
+ Access MSTest's TestContext property via ScenarioContext https://github.com/techtalk/SpecFlow/pull/882
+ @MsBuild [DeploymentItem] - added option to provide output directory https://github.com/techtalk/SpecFlow/pull/901
Fixes:
+ Unable to access read only csproj file https://github.com/techtalk/SpecFlow/pull/906
2.2.0 - 2017-06-28
New Features:
+ TestThreadContext can be used for test thread related data sharing (https://github.com/techtalk/SpecFlow/pull/875)
+ Support for xUnit2 ITestOutputHelper (https://github.com/techtalk/SpecFlow/pull/874)
Core changes:
+ Upgrade to BoDi 1.3 (https://github.com/techtalk/SpecFlow/pull/876)
Fixes:
+ Fix code behind generation if it is triggered through Save in Visual Studio (https://github.com/techtalk/SpecFlow/pull/877)
2.2.0-preview20170523 - 2017-05-23
Fixes:
+ Fix in executing the code behind generation https://github.com/techtalk/SpecFlow/pull/855
+ Fix, that hook with multiple tags is executed more than once https://github.com/techtalk/SpecFlow/pull/848
New Features:
+ Order sensitive overload for compare to set https://github.com/techtalk/SpecFlow/pull/778
2.2.0-preview20170510 - 2017-05-10
Core changes:
+ Projects are now read by XML and not with MSBuild. The general functionality is working. If something is missing, please file an issue and look at https://github.com/techtalk/SpecFlow/blob/master/TechTalk.SpecFlow.Generator/Project/MsBuildProjectReader.cs
+ Before/After- Feature Hooks can get the FeatureContext by parameter See https://github.com/techtalk/SpecFlow/pull/779
Fixes:
+ Removed obsolete marked StepScopeAttribute - use the ScopeAttribute for it
+ Fixed: Projection<T>.Equals() returns false unnecessarily if table headers differ from property name by casing
+ Fixed regex-less step definition support, see StepDefinitionsWithoutRegex.feature for details (Issues #715, #301)
New Features:
+ MsTest: Support for [DeploymentItem] attribute with @MsTest:DeploymentItem tag (Issue 803)
+ Json Configuration support: you can put your SpecFlow configuration into a specflow.json also (https://github.com/techtalk/SpecFlow/pull/690)
Examples: https://github.com/techtalk/SpecFlow/blob/master/Tests/TechTalk.SpecFlow.RuntimeTests/Configuration/JsonConfigTests.cs
2.2.0-preview20161020 - 2016-10-20
Smaller Improvements/fixes:
+ The results of comparisons made against sets will be displayed as a comma-delimited list.
+ Fix code generation for VB.Net
+ Scenario Outline example tags do now appear in ScenarioContext.ScenarioInfo.Tags
+ Fix scenario outline variants showing without source code if generating row tests is disabled
API changes:
+ Move SourceFilePath from SpecFlowFeature to SpecFlowDocument
2.1.0 - 2016-05-24
Core changes:
+ Update to Gherkin 4.0.0 parser
+ Plugin Interface for Generator and Runtime Plugins
Changed to an event base interface and added additional hooks for customizing TestThread and Scenario Dependencies
New Features:
+ Two new Assist methods, FindInSet and FindAllInSet.
+ Fixed issue #246 where regexless steps could not pass negative numbers as arguments
Smaller Improvements/fixes:
+ Update reports to use latest parser
+ Allow customizing binding class resolution with IBindingInstanceResolver
+ Added support for generating better argument names in step methods.
+ SpecFlow can be build and all tests run if you only have VS2015 installed
2.1.0-preview20160412-* - 2016-04-12
Core changes:
+ Update Gherkin 3 parser
New Features:
+ Improved output of specflow.exe GenerateAll command
+ Add debugging support for specflow.exe GenerateAll command
2.0.0 - 2016-01-27
Core changes:
+ All components upgraded to .NET 4.5
+ Visual Studio integration has been separated to a separate project: https://github.com/techtalk/SpecFlow.VisualStudio
+ Using the new Gherkin 3 parser (see https://github.com/cucumber/gherkin3)
+ Allow running SpecFlow tests parallel within the same AppDomain. See https://go.specflow.org/doc-multithreaded for details.
Breaking changes:
+ The new release will not work with .NET runtimes older than .NET 4.5.
+ Because of the new Gherkin parser, some feature files might not be able to parse
+ Support for obsolete runtime (Silverlight, WP7) have been removed, they will be re-added in a better way soon.
New Features:
+ Support for xUnit 2.0, including parallel support. The old provider is renamed to xunit.1. (Issue 419)
+ Support for NUnit 3.0, including parallel support. The old provider is renamed to nunit.2.
+ Hook (e.g. [BeforeScenario]) execution order can be controlled with an Order parameter of the attribute
+ Assist: extensible table conversions and comparisons for CreateSet, CreateInstance, CompareToSet, CompareToInstance
Smaller Improvements/fixes:
+ ScenarioContext.StepContext can be used to access the details of the step currently being executed
+ NUnit generator adds tags to TestCase attributes generated from outline examples. This way the NUnit test adapter in Visual Studio will display the tags.
+ Better regular expression suggestions generated for missing steps with quoted parameters
+ Steps base class provides properties to access the feature, scenario and step contexts in a thread-safe way
+ Scenario and feature context can be injected to the binding class to avoid the ScenarioContext.Current and FeatureContext.Current static accessors
+ Assist: better matching of column names to property names by removing any character from the header name that is not valid in property names (Issue 511)
+ Small improvements in the DI framework, see https://github.com/gasparnagy/BoDi/blob/master/BoDi/BoDi.cs for details.
+ SpecFlow.MsTest NuGet package can be used to easily configure SpecFlow with MsTest
+ Specflow Test Execution report now includes the "tags" in the Nunit Report which can be displayed through a custom XSLT by the users.
+ Remove .net runtime version from generated file header to avoid unwanted changes
1.9.3 - 2013-09-26 (Visual Studio 2013 Integration)
Note: 1.9.3 only improved the Visual Studio integration, but uses the SpecFlow 1.9.0 runtime and generator.
New Features:
+ Visual Studio 2013 support (see https://www.specflow.org/documentation/Visual-Studio-2013-Integration/)
+ SpecRun 1.2 support: run/debug tests from the feature file editor
1.9.2 - 2013-03-25 (Visual Studio Integration update)
Note: 1.9.2 only improved the Visual Studio integration, but uses the SpecFlow 1.9.0 runtime and generator.
Fixed issues:
+ Empty strings in tables get converted to null in case of nullable enum as target types when using CreateSet
+ VS2010/VS2012: Visual Studio freezes while editing keywords (Issue 128)
+ VS2010/VS2012: Linked app.config now works (Issue 255, by ArildF)
+ VS2012: Run SpecFlow Scenarios didn't work in VS2012 Update 1 (Issue 273)
+ VS2012: Support execution of scenarios from editor, that are generated with <generator allowDebugGeneratedFiles="true" /> setting. (related to Issue 275)
The generator setting above can be used as a workaround for VS2012 test runner issues, for example that Scenario Outline and Example tables show up as "External"
+ VS2010/VS2012: Parameter is not colorized correctly when part of the keyword (Issue 276)
+ VS2010/VS2012: 'Go To Definition' does not work with partial classes (Issue 53)
+ VS2010/VS2012: ReSharper shortcuts (comment, go to definition, run test) do not work
+ VS2010/VS2012: Test class generation fails when installed SpecFlow and SpecFlow.CustomPlugin packages in one project (Issue 279)
New Features:
+ VS2010/VS2012: Table outlining support in the editor (Issue 244, by RaringCoder)
+ Assist: Added overload to CreateSet<T> accepting a Func<TableRow,T> to create each instance
1.9.1 - 2012-10-12 (Visual Studio Integration update)
Note: 1.9.1 only improved the Visual Studio integration, but uses the SpecFlow 1.9.0 runtime and generator.
Fixed issues:
+ VS2012: Run specflow scenarios does not work: works as for RC, but still runs all scenarios from the file (Issue 210)
+ VS2010: VS stops showing context menus if code window contains C++ code (Issue 209)
+ VS2010: Use < and > around variables in Intellisense for steps (Issue 203)
+ VS2010: SpecFlow incorrectly detected changes in the configuration (Issue 215)
+ VS2008: Support for VB code generation
+ VS2010: Exception during project load
+ VS2010: InvalidComObjectException: COM object that has been separated from its underlying RCW cannot be used. (Issue 230)
+ VS2010/VS2012: improve stability, more tracing
1.9.0 - 2012-08-06
See detailed feature summary at https://go.specflow.org/whatsnew-19
New Features:
+ Visual Studio 2012 support
+ Download IDE integration packages through their own distribution channel:
Visual Studio 2012 and 2010: Visual Studio Gallery (https://go.specflow.org/vsgallery)
MonoDevelop: MonoDevelop Add-in Repository (https://go.specflow.org/monodevelop-addin)
SharpDevelop: download addin and install it from SharpDevelop AddIn Manager (https://go.specflow.org/download-sdaddin)
Visual Studio 2008: download installer (https://go.specflow.org/download-vs2008msi)
+ Visual Studio 2012 generic test runner support
+ Added SpecFlow.xUnit NuGet package
+ Guids can now be used as arguments to step definitions.
+ Any missing characters on a guid in tables or step arguments will be filled with trailing zeroes. ("7" => 70000000-0000-0000-0000-000000000000)
+ Better comparison exceptions when comparing tables to sets.
+ Using standard Gherkin parser (http://github.com/aslakhellesoy/gherkin) v2.6.5
+ VS2010: Comment and uncomment selection
+ VS2010: Cache analysis result for faster solution startup
+ VS2010: It can now be installed on machines used for SharePoint development
+ Step Definitions without Regular Expressions (underscore style, pascal-case style)
+ F# step definitions (regex method names, Visual Studio integration)
+ SpecFlow.NUnit NuGet package has been split to SpecFlow.NUnit (w/o AddOn for NUnit runner) and SpecFlow.NUnit.Runners (with runner support)
+ ReSharper: editor features (toggle comment, go to step definition, run/debug scenarios) can be used with R# keyboard shortcuts
+ MsTest: Support for MSTest's [Owner] and [WorkItem] attributes with tags like @owner:foo @workitem:123 (Issue 162, Pull 161)
+ NuGet package for creating custom generator extensions: SpecFlow.CustomPlugin
+ VS2010: Integration can track files changed outside of VS (e.g. updated by a SCC pull)
+ VS2010: Collect bindings from assembly references
+ VS2010: Navigation from step definitions to the matching steps (Issue 192)
+ VS2010: Context-dependent navigation (go to step definition / go to steps) with Alt+Ctrl+Shift+S
+ VS2010: Generate missing step definitions from a feature file
+ Support custom step definition skeleton templates (different style customizable in config, template can be overridden in
"C:\Users\<user>\AppData\Local\SpecFlow\SkeletonTemplates.sftemplate", see https://go.specflow.org/doc-stepdefstyles) (Issue 137, Pull 113)
+ VS2010: Highlight unbound steps and step parameters in the editor (beta, can be switched off in Tools/Options/SpecFlow) (Issue 49, Pull 189, with support of matgiro)
+ Plugin infrastructure
+ The default MsTest unit test provider is changed to the MsTest.2010. If you need to use the MsTest 2008 provider, you have to specify "MsTest.2008".
For newer MsTest providers, you can use "MsTest" (recommended) or "MsTest.2010".
Fixed issues:
+ VS2010: The message "Step bindings are still being analyzed. Please wait." displayed infinitely (Issue 168)
+ SharePoint: throws errors when creating a test class based on the .feature file generated in SharePoint progress because the content of the file is xml. (Issue 151, Pull 170)
+ VS2010: Formatting table fails if table row does not end with a pipe (Issue 146)
+ Support for missing feature/GenerationTargetLanguage (Issue 163)
+ RuntimePluginLoader: IsAssignableFrom is backwards (Issue 164)
+ VS2010: Specflow options show up as "General" in VS Import/Export settings (Issue 184)
+ Dispose IDisposable user objects created by SpecFlow (Issue 22)
1.8.1 - 2011-10-25
Fixed issues:
+ ReSharper: NUnit scenario outline without tag on example set (rowtest enabled) causes inconclusive result (Issue 116)
+ Step definition with more than 10 parameters causing BindingException (extended now to 20)
+ Run & debug scenarios from the feature file context menu does not work with ReSharper 6 (Issue 138)
+ VS2010 step autocomplete: New steps form external project are not found unless IDE is restarted (Issue 88, by Stanislaw Wozniak)
+ VS2010 step autocomplete: Duplicated steps
1.8.0 - 2011-10-17
Breaking changes:
+ Classes used for context injection must have a single public constructor with maximum parameter count (so far the first constructor was used).
+ After step hook is was not invoked when step definition failed so far. Now it is invoked even in case of a failure.
New features:
+ Async testing support for Windows Phone 7 (Issue 132, by Jeff Simons)
+ Support for MbUnit v3. Use unit test provider name "mbunit.3". (Issue 133, by Raytheon)
+ SpecFlow framework classes can be used as a dependency for context injection.
+ Custom extensions for the runtime can be specified in the config file (Specflow/runtime/dependencies).
+ Better customization possibilities with plugins.
+ [StepScope] attribute can also scope hooks (event bindings) (Issue 95)
+ [StepScope] has been renamed to [Scope]. [StepScope] is kept with obsolete warning.
+ VS2010: Run & debug scenarios from the feature file context menu and solution explorer nodes (feature file, folder, project).
+ VS2010: Use infix word prefix matching for step completion.
+ VS2010: Regenerate feature files from project context menu.
+ VS2010: Go to step definition command in feature file context menu.
+ MsBuild generator can output generated file paths (GeneratedFiles property). The file list is populated to the MsBuild item
@(SpecFlowGeneratedFiles) by the TechTalk.SpecFlow.targets.
+ MsBuild: TechTalk.SpecFlow.targets provides overrideable BeforeUpdateFeatureFilesInProject and AfterUpdateFeatureFilesInProject targets.
+ Cucumber harmonization
+ Allow using [Before]/[After] attributes as synonyms of [BeforeScenario]/[AfterScenario]
+ Allow using [StepDefinition] attribute that matches to given, when or then steps
+ Leading '@' sign can be specified for hooks and [Scope] attribute
Fixed issues:
+ Instances created for context injection are disposed after scenario execution (Issue 22)
+ Error when opening feature file in VS2008 if VS2008 syntax coloring was enabled.
+ Silverlight: make possible to access SilverlightTest instance (Issue 126, by Matt Ellis)
+ Silverlight: apply feature tags to the test class instead of the methods (Issue 126, by Matt Ellis)
+ SpecFlowContext.TryGetValue does not evaluate Func<T> factory methods (Issue 127, by Matt Ellis)
+ StepArgumentTransformation cannot be used recursively
+ VS2010 locks generator folder
+ After step hook is not invoked when step definition failed.
+ Missing XML comment warnings caused by the generated test class (Issue 121)
+ VS2010: Goto step definition misdiagnoses Given-But as a Then-But (Issue 134, by Raytheon)
+ VS2010: 'Go To Definition' does not work with partial classes. (Issue 53, by Raytheon)
+ AfterTestRun-Hook does not trigger when running in NUnitGui or NUnitConsole. To fix this, you need to add the NUnit addin from
https://raw.github.com/techtalk/SpecFlow/master/Installer/NUnitNuGetPackage/SpecFlowNUnitExtension.cs to the project, or use
the SpecFlow.NUnit combined NuGet package that does this automatically.
1.7.1 - 2011-08-19
Fixed issues:
+ Test execution report displays the feature description instead of the title (Issue 118)
+ Incomprehensible error message when Scenario-description is empty (Issue 117)
+ Assist helpers do not support Singles (Issue 114, by Joe Parkin)
+ Assist helpers do not support unsigned integers (Issue 115, by mdellanoce)
+ The test class is not generated as UTF-8, so some accented characters might be displayed incorrectly. (Issue 112)
+ Fix step definition report broken by v1.7. (Issue 111, by Chris Roff)
+ Intellisense breaks when typing keyword 'E' (And in pt-BR) followed by a space (Issue 109)
+ Intellisense completition removes the non-first words of keywords (e.g. for "Gegeben sei") (Issue 65)
+ Support table delimiter escaping for table formatting (Issue 99)
+ Fixed enum property name match (Issue 119)
+ Added Assist support for byte, float, long, ulong, sbyte, ushort, single. With nullables. (Issue 120)
1.7.0 - 2011-07-29
Breaking changes:
+ There are a few breaking changes in the generated test code. If you upgrade to SpecFlow 1.7, you should either
re-generate the tests, or setup your project to use a version for generating the tests that is compatible with
the runtime you use (see "Using SpecFlow generator from the project's lib folder" feature).
New features:
+ Using standard Gherkin parser (http://github.com/aslakhellesoy/gherkin) v2.3.6
+ Using SpecFlow generator from the project's lib folder instead of SpecFlow installed for IDE integration.
The VS2010 integration can be installed independently from projects using a different version. The VS2010
integration checks the generator in the following paths:
1. generator path configured in app.config (<generator path="..\lib\SpecFlow"/>)
2. generator assembly (TechTalk.SpecFlow.Generator.dll) referenced from the SpecFlow project
3. generator in the same folder as the runtime (TechTalk.SpecFlow.dll)
4. generator is near to the runtime ("tools" or "..\tools", relative to the runtime)
5. generator obtained through NuGet ("..\..\tools", relative to the runtime)
If SpecFlow cannot find the generator or it is older than v1.6.0, the installed SpecFlow generator is used.
If you use any custom plugins (e.g. unit test generator), this has to be in the same folder as the generator
currently.
+ Added ToProjection<T>, ToProjectionOfSet<T>, ToProjectionOfInstance<T> to allow for LINQ-based comparisons. (by Vagif Abilov)
+ Cleaned-up CreateInstance<T> and CreateSet<T> for greater code maintainability.
+ Cleaned-up CompareToInstance<T> and CompareToSet<T> for greater code maintainability, and slightly more accurate value comparisons (like decimals with trailing zeroes).
+ Removed the |Field|Value| requirement for CreateInstance<T> and CompareToInstance<T>. Any header names can be used, so long as the first column is the name of the property and the second column is the value.
+ Can use empty spaces and different casing in the tables used for comparison (i.e. can use |First name| instead of |FirstName| )
+ Tables used with CreateInstance<T> and CompareToInstance<T> can now be one-row tables with each field as a column (instead of requiring a vertical table with "Field/Value" headers)
+ A default function to create a default instance can be passed to CreateInstance<T> and CreateSet<T>.
+ Syntax coloring support for Visual Studio 2008. Uncheck this option in the installer if you are using cuke4vs. (by Avram Korets)
+ SharpDevelop 4 (#develop) integration. Enable SharpDevelop 4 integration in the installer and use the SharpDevelop AddIn Manager
to install the integration (select addin file from SpecFlow installation folder). (by Charles Weld)
+ Support for testing Silverlight asynchronous code. (by Matt Ellis & Ryan Burnham)
See https://github.com/techtalk/SpecFlow/wiki/Testing-Silverlight-Asynchronous-Code for details.
+ TableRow implements IDictionary<string, string>
+ Add table row from a (total or partially filled) dictionary
+ Rename table column (Table.RenameColumn(stirng, string))
Fixed issues:
+ Installer executes devenv /installtemplates even if VS2008 integration is not selected.
+ Duplicated logic between generator and runtime (generator depends on runtime now)
+ MsTest tests are not properly attached to the right feature (Issue 96)
+ Assist methods now work with classes with multiple properties of the same enum type.
+ Refactor IUnitTestGeneratorProvider interface to be more consistent (Issue 4)
1.6.1 - 2011-04-15
Fixed issues:
+ Windows Phone 7 runtime (TechTalk.SpecFlow.WindowsPhone7.dll) is not included in the NuGet package (Issue 61)
+ Warnings in the generated test classes (Issue 58)
+ Improved tracing for VS2010 integration
1.6.0 - 2011-04-04
Breaking changes:
+ The Silverlight runtime assembly has been renamed to TechTalk.SpecFlow.Silverlight3.dll.
New features:
+ Added a Set<T>(Func<T>) extension method. The Func<T> method will be invoked whenever ScenarioContext.Current.Get<T> is called.
+ Support for tagging (including @ignore) scenario outline examples.
NUnit and MbUnit: to filter for categories generated for the examples in the unit test runner, you need to
switch off row test generation (<generator allowRowTests="false" />)
+ Using standard Gherkin parser (http://github.com/aslakhellesoy/gherkin) v2.3.5
+ Support for converting table and multi-line text arguments with [StepArgumentTransformation] (by Chris Roff, roffster)
See examples in Tests/FeatureTests/StepArgumentTransfomation
+ VS2010: Support for specifying color for the step text
+ Added a FillInstance<T>(T) extension method off of Table. When passed an instance of T, it will fill the instance with values from the table (like CreateInstance<T>).
+ VS2010: Re-generate feature file when the configuration has changed or a new version of SpecFlow is installed
+ VS2010: Improved intellisense for steps
+ VS2010: Intellisense for keywords
+ VS2010: "go to binding"
+ VS2010: Automatic table formatting when "|" is typed
+ VS2010: Tracing can be configured from tools / options. The environment variable SPECFLOW_TRACE is not used anymore.
+ Windows Phone 7 support, see https://github.com/techtalk/SpecFlow/wiki/Windows-Phone-7-Support (by Max Paulousky)
+ Silverlight runtime can be configured from query string (by Matt Ellis)
+ Generate test parameters from scenario outline parameters and example set name for MsTest (by Qingsong Yao)
+ Isolated test generator interface (can be used later for using the generator of the project instead of the generator of the IDE integration)
+ Official NuGet integration (by Daniel Sack)
Fixed issues:
+ Scenario with only "*" steps fails with "System.ArgumentException: Unable to convert block to binding type"
+ Binding is reported as invalid if there is a matching step definition with different scope
+ Support for date time comparisons that ignore 12:00:00 AM (issue 52)
+ Fix NUnit execution report to properly select features when .features is solely comprised Scenario Outlines.
(by Jon Archer)
+ Tags applied at the feature level are now applied as Silverlight TagAttributes on the class. (by Matt Ellis, citizenmatt)
+ Rethrowing exceptions caught during steps would lose the call stack on Silverlight. (by Matt Ellis, citizenmatt)
+ SpecFlow emits an erroneous suggestion for the step bindings in VB.NET (Issue 32)
+ Refactored VS2010 intagration to better maintanability
+ Refactored CreateSet<T> and CompareToSet<T> extension methods to use the same logic as CreateInstance<T> and CompareToInstance<T>.
+ Step Intellisense doesn't show in Feature Background (Issue 23)
+ Xunit Theory Attribute/InlineAttribute using incorrect namespace. (Issue 40, by Kerry Jones)
+ Scenario Outline - Multiple Scenarios table header row VS formatting issue (Issue 16)
+ SpecFlow step definition report generator throws unhandled exception when a scenario starts with "And" (Issue 45)
+ VS2010: SpecFlow writes out feature and code-behind files with inconsistent line endings (Issue 28)
+ Step definitions can be implemented in abstract base classes (but the abstract base class must not have the [Binding] attribute). SpecFlow no longer tries to instantiate the abstract base class. (Issue 47)
1.5.0 - 2010-12-17
Breaking changes:
+ Changing the default value (true) of the allowRowTests configuration setting is not incompatible with older
runtimes.
New features:
+ Step Intellisense for Visual Studio 2010 - displays the list of bound steps when pressing space or ctrl+space
after a step keyword
(Thanks to Marcus Hammarberg for the contribution.)
+ Options for Visual Studio 2010 - you can enable/disable the integration features (syntax coloring, outlining,
intellisense) in Visual Studio 2010, Tools / Options / SpecFlow / General
+ Faster installation for VS2010 - if you install SpecFlow only to VS2010, the installation is much faster
as we now entirely using the new VSIX infrastructure for the integaration.
+ Support for row test generation (NUnit, MbUnit and xUnit). This new feature is enabled by default, but can
be switched off from the configuration with <generator allowRowTests="false" />.
(Thanks to John Gietzen (otac0n) for the contribution.)
+ Support for specifying property names with blanks and case insensitive for SpecFlow.Assist (by Steven Zhang, jdomzhang)
Fixed issues:
+ Scoped Steps does not recognize feature tags (Issue 12)
+ Support for double and nullable types in table-helpers of SpecFlow.Assist
+ Support for enum parsing in table-helpers of SpecFlow.Assist
+ Adding comparison helpers to SpecFlow.Assist (by darrencauthon)
+ Support for char parsing in table-helpers of SpecFlow.Assist (Issue 19)
+ VS2010 might crash after pasting into a feature file
+ Execution report should list features ordered by feature title
1.4.0 - 2010-10-07
Breaking changes:
+ The generator has been improved to provide source code language. Because of this, SpecFlow test generated
with this version will be incompatible with older runtimes.
New features:
+ Scoped Step Definitions: you can scope step definitions (bindings) to tags, features and scenarios. Scope filter
can be applied to a class or a method with the [StepScope] attribute.
See examples in Tests/FeatureTests/ScopedSteps/ScopedSteps.feature and Tests/FeatureTests/ScopedSteps/ScopedStepsBindings.cs
(Thanks to Jose Simas for the contribution.)
+ Adding binding-culture to App.config. If set, this culture is used during execution of steps.
+ VB-Step-Definition Skeleton Provider: For VB-projects, the suggested step skeletons are generated in VB.
+ Merging strongly typed context accessors from Darren Cauthon's SpecFlowAssist
+ Merging table/row extension methods from Darren Cauthon's SpecFlowAssist
Add a using statement for the namespace TechTalk.SpecFlow.Assist to use the extension methods.
See also Darren's youtube tutorial: http://bit.ly/aY4VOd
+ Diagnostic tracing: VS2010 integration can display trace messages to the Output window
if tracing is enabled. Tracing can be enabled by setting the environment variable SPECFLOW_TRACE
to either "all" or to the comma separated list of individual SpecFlow traing categories (currently
only the category "EditorParser" is supported).
Fixed issues:
+ Better error reporting for wrong Gherkin files (multiple errors displayed, detect duplicate scenario names)
+ Visual Studio 2010 editor slows down after editing a feature file for a longer time (Issue 9)
1.3.5.2 - 2010-08-11
Fixed issues:
+ Sorry, we're ironing out our deploy strategy with the new Mono/MonoDevelop integration. We didn't
change the version in the MonoDevelop Add-In XML file.
1.3.5.1 - 2010-08-11
New features:
+ Support for hosting add-in on http://addins.monodevelop.com
1.3.5 - 2010-08-11
New features:
+ Support for Mono (v2.6.7) & MonoDevelop (v2.4) by Dale Ragan
Fixed issues:
+ Generating code randomly for the wrong testing engine
+ Test class generation problem for Russian feature files
+ Fix tag support for Silverlight
1.3.4 - 2010-07-28
Fixed issues:
+ Installation fails if Visual Studio 2010 is not installed
+ VS2010: Background section is not colored properly
1.3.3 - 2010-07-19
New features:
+ Support for MsTest report generation
usage: specflow mstestexecutionreport projectFile [/testResult:value] [/xsltFile:value] [/out:value]
projectFile Visual Studio Project File containing specs
[/testResult:value] Test Result file generated by MsTest. Defaults to TestResult.trx
[/out:value] Generated Output File. Defaults to TestResult.html
[/xsltFile:value] Xslt file to use, defaults to built-in stylesheet if not provided
+ Visual Studio 2010 editor support:
- syntax coloring with configurable colors ("Gherkin ...")
- outlining for scenarios
Uninstall the beta integration (TechTalk.SpecFlow.VsIntegration.GherkinFile.vsix) before installing
SpecFlow 1.3.3.
Fixed issues:
+ MbUnit execution fails for pending steps (Assert method not found: Inconclusive)
1.3.2 - 2010-06-29
New features:
+ Support for MsTest for .NET 4.0 categories. Configure the test provider name to
"MsTest.2010" in order to use the [TestCategory] attribute.
+ Silverlight support (beta), see http://wiki.github.com/techtalk/SpecFlow/silverlight-support
Fixed issues:
+ Report generation fails if no custom XSLT is provided
1.3.1 - 2010-06-21
New features:
+ Using standard Gherkin parser (http://github.com/aslakhellesoy/gherkin) v2.0.1
+ Custom XSLT can be specified for generating reports.
See examples in Tests/ReportingTests/CustomXsltTemplate.feature
+ The test error can be accessed through ScenarioContext.Current.TestError
(e.g. in an AfterScenario event).
+ [StepTransformation] attribute has been renamed to [StepArgumentTransformation]
because this name describe the intention better. Using the old attribute will
generate a warning.
+ Support for MbUnit
Fixed issues:
+ NullReference exception when using BeforeTestRun event (Issue 41)
1.3.0 - 2010-05-05
New features:
+ Using standard Gherkin parser (http://github.com/aslakhellesoy/gherkin) v1.0.24
+ Context injection in step definitions. Step definitions can get a context injected with
constructor injection. (Issue 30)
See examples in Tests/FeatureTests/ContextInjection
+ Using steps in other assemblies. This enables writing steps in VB. (Issue 19)
See examples in Tests/FeatureTests/ExternalSteps
+ Steps can be invoked from other steps using step text. See examples in
Tests/FeatureTests/CallingStepsFromStepDefinitions
+ Custom step parameter converters can be defined as a binding.
See examples in Tests/FeatureTests/StepArgumentTransfomation
+ SpecFlow feature files can be added also to VB.NET projects
+ Support for xUnit
+ Single installer for Visual Studio 2008 and 2010 (Issue 6, 10, 11)
+ Place GeneratedCodeAttribute and 'Designer generated code' region on generated code to
avoid having this code parsed by code analysis. (Issue 33)
+ Configuration option to disable all output. (Issue 29)
Use the following config to disable output:
<trace listener="TechTalk.SpecFlow.Tracing.NullListener, TechTalk.SpecFlow" />
Fixed issues:
+ SpecFlow Reporting doesn't work with Firefox (Issue 31)
+ Binding methods are executed using the culture of the feature file.
+ Several parsing issues are solved now (Issue 1, 8, 9, 37)
1.2.0 - 2009-11-25
New features:
+ Generate #line pragmas to the output file (Issue 26)
+ Allow transformation of feature files from command-line and MsBuild (Issue 3)
+ Merge all command-line tool (generation, reports) to a single executable: specflow.exe
+ Support for Dutch and Swedish language
+ Support enumerations in step binding arguments (Issue 28)
Fixed issues:
+ MsTest does not refresh tests automatically (Issue 25)
+ Fixes in report localization
+ Non-string parameters for bindings are not converted using the feature language (Issue 26)
1.1.0 - 2009-11-11
New features:
+ Support for MsTest (Issue 4)
+ Finalize configuration (Issue 13)
+ Support German, French and Hungarian languages (Issue 5)
+ Add strong-name for specflow assemblies (Issue 2)
+ Allow scenario events to be instance methods (Issue 20)
+ More descriptive name for the scenario outline example tests than XYZ_Variant1 (Issue 18)
+ NUnit SpecFlow test execution report (Issue 23)
+ Step definition usage report (Issue 24)
Fixed issues:
+ Runtime: Remove direct dependency on nunit.framework.dll from the runtime (Issue 12)
+ Runtime: Binding methods with more than 4 parameters cannot be used (Issue 21)
+ Generator: Special language characters (e.g. accented letters) are removed when generating
test method names (Issue 22)
1.0.2 - 2009-10-20
New features:
+ Runtime: allow non-static bindings
+ Runtime: support multiple step attributes on a single binding method
Fixed issues:
+ VS: Error message is displayed when you add a SpecFlow project item to your project.
+ Parser: mixed order of Given/When/Then is not supported
+ Runtime: the original phrasing of the keywords (Given/And/But) is not preserved
+ Generator: the generated test class has a "Fixture" suffix
+ Parser: specifying any "given" should be optional
1.0.1 - 2009-10-13
Initial publish on https://www.specflow.org