<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>idea Support unit testing in ArcGIS Pro and ArcGIS Runtime .NET SDKs in ArcGIS Maps SDKs Native Ideas</title>
    <link>https://community.esri.com/t5/arcgis-maps-sdks-native-ideas/support-unit-testing-in-arcgis-pro-and-arcgis/idi-p/924606</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;In ArcObjects .NET, everything has interfaces and can be mocked with modern lightweight mocking frameworks such as NSubstitute or FakeItEasy, allowing the developer to write &lt;I&gt;real &lt;/I&gt;unit tests in which the business logic can be tested in isolation (independent of any access to real ArcObjects resources). In the ArcGIS Pro SDK 1.1 and ArcGIS Runtime SDK .NET 10.2.6, this is practically impossible for several reasons:
&lt;UL&gt;&lt;LI&gt;There are almost no interfaces.&lt;/LI&gt;&lt;LI&gt;Many classes are sealed and/or have no virtual members and therefore cannot be faked (mocked).&lt;/LI&gt;&lt;LI&gt;There are many static method calls.&lt;/LI&gt;&lt;/UL&gt;
With both SDKs, Esri wants to support the MVVM pattern in which the business logic resides in the view models and the classes that are spawned from them. One of the benefits of the MVVM pattern is that the business logic can be tested in isolation, independent of the UI. However, as long as the dependencies of Esri's SDKs cannot be faked, for the TDD community they will be useless.&lt;BR /&gt;We would like Esri to provide support for faking (mocking) their SDK objects so that developers can write tests that comply with the &lt;A href="http://agileinaflash.blogspot.de/2009/02/first.html" target="_blank"&gt;FIRST&lt;/A&gt; principles and test only &lt;I&gt;their&lt;/I&gt; business logic.

&lt;!-- content transformation source ID: 087E0000000kAeh --&gt;

&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 11 Nov 2015 19:20:59 GMT</pubDate>
    <dc:creator>FridjofSchmidt1</dc:creator>
    <dc:date>2015-11-11T19:20:59Z</dc:date>
    <item>
      <title>Support unit testing in ArcGIS Pro and ArcGIS Runtime .NET SDKs</title>
      <link>https://community.esri.com/t5/arcgis-maps-sdks-native-ideas/support-unit-testing-in-arcgis-pro-and-arcgis/idi-p/924606</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;In ArcObjects .NET, everything has interfaces and can be mocked with modern lightweight mocking frameworks such as NSubstitute or FakeItEasy, allowing the developer to write &lt;I&gt;real &lt;/I&gt;unit tests in which the business logic can be tested in isolation (independent of any access to real ArcObjects resources). In the ArcGIS Pro SDK 1.1 and ArcGIS Runtime SDK .NET 10.2.6, this is practically impossible for several reasons:
&lt;UL&gt;&lt;LI&gt;There are almost no interfaces.&lt;/LI&gt;&lt;LI&gt;Many classes are sealed and/or have no virtual members and therefore cannot be faked (mocked).&lt;/LI&gt;&lt;LI&gt;There are many static method calls.&lt;/LI&gt;&lt;/UL&gt;
With both SDKs, Esri wants to support the MVVM pattern in which the business logic resides in the view models and the classes that are spawned from them. One of the benefits of the MVVM pattern is that the business logic can be tested in isolation, independent of the UI. However, as long as the dependencies of Esri's SDKs cannot be faked, for the TDD community they will be useless.&lt;BR /&gt;We would like Esri to provide support for faking (mocking) their SDK objects so that developers can write tests that comply with the &lt;A href="http://agileinaflash.blogspot.de/2009/02/first.html" target="_blank"&gt;FIRST&lt;/A&gt; principles and test only &lt;I&gt;their&lt;/I&gt; business logic.

&lt;!-- content transformation source ID: 087E0000000kAeh --&gt;

&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Nov 2015 19:20:59 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-maps-sdks-native-ideas/support-unit-testing-in-arcgis-pro-and-arcgis/idi-p/924606</guid>
      <dc:creator>FridjofSchmidt1</dc:creator>
      <dc:date>2015-11-11T19:20:59Z</dc:date>
    </item>
    <item>
      <title>Re: Support unit testing in ArcGIS Pro and ArcGIS Runtime .NET SDKs</title>
      <link>https://community.esri.com/t5/arcgis-maps-sdks-native-ideas/support-unit-testing-in-arcgis-pro-and-arcgis/idc-p/924607#M13</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Use Shims...&lt;BR /&gt;&lt;BR /&gt;&lt;A href="https://msdn.microsoft.com/en-us/library/hh549175(v=vs.120).aspx"&gt;https://msdn.microsoft.com/en-us/library/hh549175(v=vs.120).aspx&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;They can mock static / non-virtual methods.&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;

&lt;!-- content transformation source ID: 00aE000000FIHqa --&gt;

&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Nov 2015 03:17:23 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-maps-sdks-native-ideas/support-unit-testing-in-arcgis-pro-and-arcgis/idc-p/924607#M13</guid>
      <dc:creator>JohnJones</dc:creator>
      <dc:date>2015-11-12T03:17:23Z</dc:date>
    </item>
    <item>
      <title>Re: Support unit testing in ArcGIS Pro and ArcGIS Runtime .NET SDKs</title>
      <link>https://community.esri.com/t5/arcgis-maps-sdks-native-ideas/support-unit-testing-in-arcgis-pro-and-arcgis/idc-p/924608#M14</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;I know, but Shims are part of MS Fakes, which is available only with Visual Studio Enterprise Edition. The ArcGIS SDKs support all editions of Visual Studio.

&lt;!-- content transformation source ID: 00aE000000FIRqY --&gt;

&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 14 Nov 2015 12:01:50 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-maps-sdks-native-ideas/support-unit-testing-in-arcgis-pro-and-arcgis/idc-p/924608#M14</guid>
      <dc:creator>FridjofSchmidt1</dc:creator>
      <dc:date>2015-11-14T12:01:50Z</dc:date>
    </item>
    <item>
      <title>Re: Support unit testing in ArcGIS Pro and ArcGIS Runtime .NET SDKs</title>
      <link>https://community.esri.com/t5/arcgis-maps-sdks-native-ideas/support-unit-testing-in-arcgis-pro-and-arcgis/idc-p/924609#M15</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sounds to me a biased answer. It limits the posibilities&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Oct 2018 06:57:37 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-maps-sdks-native-ideas/support-unit-testing-in-arcgis-pro-and-arcgis/idc-p/924609#M15</guid>
      <dc:creator>Cristian_Galindo</dc:creator>
      <dc:date>2018-10-26T06:57:37Z</dc:date>
    </item>
    <item>
      <title>Re: Support unit testing in ArcGIS Pro and ArcGIS Runtime .NET SDKs</title>
      <link>https://community.esri.com/t5/arcgis-maps-sdks-native-ideas/support-unit-testing-in-arcgis-pro-and-arcgis/idc-p/924610#M16</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Today, at the end of 2018, with the ArcGIS pro SDK in version 2.2, and I am not able to generate unit tests, not even mention apply TDD, because the SDK does not have Interfaces and most of the classes are sealed.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Oct 2018 06:59:55 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-maps-sdks-native-ideas/support-unit-testing-in-arcgis-pro-and-arcgis/idc-p/924610#M16</guid>
      <dc:creator>Cristian_Galindo</dc:creator>
      <dc:date>2018-10-26T06:59:55Z</dc:date>
    </item>
  </channel>
</rss>

