Interface checks are now runtime and not at CFC creation, breaking TestBox| View in Tracker
Reporter/Name(from Bugbase): Bradley Wood / ()
Failure Type: Others
Found In Build/Fixed In Build: Final / 2018.0.0.311644
Priority/Frequency: Normal / Most users will encounter
Locale/System: / Platforms All
Vote Count: 5
Interfaces have always been checked at the time of the CFC creation, but 2018 appears to have a new runtime check which is causing a lot of issues. Frameworks like TestBox create runtime method stubs to allow for mocking of method signatures. This was never an issue before, but now this error is thrown when attempting to call a method that is a runtime mock created by MockBox: The XYZ function does not specify the same arguments or arguments in the same order in the com.foo.bar ColdFusion component and the com.foo.IBar ColdFusion interface. You can see several instances of this error if you start up a 2018 server and run the ColdBox unit test suite. Is there a reason this has been moved to a runtime check and what is the performance overhead of checking method signatures on invocation?