[swift-evolution] Solving the issue of unit-testing precondition with the Standard Library?

Jonathan Tang jonathan.d.tang at gmail.com
Sat Mar 12 18:28:09 CST 2016


On Sat, Mar 12, 2016 at 1:41 PM, David Hart via swift-evolution <
swift-evolution at swift.org> wrote:

> I am deeply interested in finding solutions for allowing unit-tests of
> preconditions. Without them, I believe we are leaving many holes in our
> tests and coverage. The solution found in the Swift project of forking the
> process seems fairly complicated to implement in XCTest.
>
> I found a solution online that works by overriding the precondition
> function with a function that calls a configurable closure which defaults
> to the original precondition function. It would be great if the Standard
> Library allowed this by default so that XCTest could use it to offer full
> support for precondition unit tests.
>
> http://stackoverflow.com/a/31349339
>
> Is this imaginable?
>

+1 to this being an important problem to solve, but I'm not sure about the
specific solution.  Are there performance or security impacts to production
code by having this?  Could the forked-process solution be implemented once
in a framework and then everybody just uses it transparently?  The
forked-process approach also has the advantage of catching crashes for any
other unexpected reason (eg. division by zero), and of ensuring that test
executions are hermetically sealed without data leaking between test
instances.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160312/f6d033f0/attachment.html>


More information about the swift-evolution mailing list