{"metadata":{"image":[],"title":"","description":""},"api":{"url":"","auth":"required","settings":"","params":[],"results":{"codes":[]}},"next":{"description":"","pages":[]},"title":"Applying a behavior to all specs","type":"basic","slug":"applying-a-behavior-to-all-specs","excerpt":"","body":"Let's apply a convention that will log how long each spec takes to execute:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"    [SetUpFixture]\\n    public class Configuration : SpecsForConfiguration\\n    {\\n        public Configuration()\\n        {\\n            WhenTestingAnything().EnrichWith<LogExecutionTimeBehavior>();\\n        }\\n    }\",\n      \"language\": \"text\"\n    }\n  ]\n}\n[/block]\nThe first part of the statement, \"WhenTestingAnything(),\" tells SpecsFor that we're defining a convention that will apply to *all* specs.  The second part, \"EnrichWith<LogExecutionTimeBehavior>(),\" defines the behavior we want to apply to our specs.  \n\nThis code won't compile yet, because we haven't actually created our LogExecutionTimeBehavior class.  Let's do that now!\n\n[Continue on to learn about creating behaviors](doc:creating-a-behavior).","updates":[],"order":2,"isReference":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"_id":"56ac213d0bbe170d00f11272","user":"54471f91beb6320800da6f75","project":"54471fc9e12a270800028adc","githubsync":"","version":{"version":"1.0","version_clean":"1.0.0","codename":"","is_stable":true,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["54471fc9e12a270800028ae0","5447b9e7b96a63140077d747","5447be130319802200fc0620","5447ed118d7af31a00dd411c","5447ed230319802200fc0702","5448524c4544c30800241f41","544854504544c30800241f4d","544854af4544c30800241f50","544854e74544c30800241f51","54485557c1b42e08005b82bf"],"_id":"54471fc9e12a270800028adf","__v":10,"project":"54471fc9e12a270800028adc","releaseDate":"2014-10-22T03:08:57.750Z","createdAt":"2014-10-22T03:08:57.750Z"},"__v":4,"category":{"sync":{"isSync":false,"url":""},"pages":["5447ef8d0319802200fc0713","56ac1ec3aa91300d00bede9b","56ac213d0bbe170d00f11272","56ac21d2c69a430d008aabb3","56b1401d4b05c50d001ceb3b","56c72ca5862f940d0056475d","56c75ec053cafe0d00a53d7b"],"title":"Convention System","slug":"convention-system","order":6,"from_sync":false,"reference":false,"_id":"5447ed230319802200fc0702","__v":7,"version":"54471fc9e12a270800028adf","createdAt":"2014-10-22T17:45:07.793Z","project":"54471fc9e12a270800028adc"},"createdAt":"2016-01-30T02:34:37.733Z"}

Applying a behavior to all specs


Let's apply a convention that will log how long each spec takes to execute: [block:code] { "codes": [ { "code": " [SetUpFixture]\n public class Configuration : SpecsForConfiguration\n {\n public Configuration()\n {\n WhenTestingAnything().EnrichWith<LogExecutionTimeBehavior>();\n }\n }", "language": "text" } ] } [/block] The first part of the statement, "WhenTestingAnything()," tells SpecsFor that we're defining a convention that will apply to *all* specs. The second part, "EnrichWith<LogExecutionTimeBehavior>()," defines the behavior we want to apply to our specs. This code won't compile yet, because we haven't actually created our LogExecutionTimeBehavior class. Let's do that now! [Continue on to learn about creating behaviors](doc:creating-a-behavior).