This is a known behavior change that was [reported on Connect and closed as "by design"](https://connect.microsoft.com/SQLServer/feedback/details/737511/identity-with-reseed-behavior-change-in-sql-2012). You'll notice that the docs for 2008 & 2014 are slightly different, partially to reflect that the output of e.g. `DBCC CHECKIDENT()` ([2008](https://msdn.microsoft.com/en-us/library/ms176057%28v=sql.100%29.aspx) vs. [2014](https://msdn.microsoft.com/en-us/library/ms176057%28v=sql.120%29.aspx)) better reflects reality.

The workaround you're using now is as good as any I can think of, since there is no magic trace flag to change the behavior of either version. It does seem odd to me that you prioritize your tests over the code. You should be making your tests so that they can interpret all code paths, not changing the code to match the one output the test expects. I have to wonder why the test even cares what surrogate ID value is generated by the database, because you shouldn't IMHO.