<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>What's New in ScalaTest 3.3 — Bill Venners | Scala Summit 2026</title>
        <link>https://watch.softinio.com/videos/watch/ccf9df57-03ba-40f2-8432-96379c9fc58e</link>
        <description>What's New in ScalaTest 3.3 Bill Venners — President, Artima · Lead developer of ScalaTest Recorded live at Scala Summit 2026 in San Francisco on Monday, October 19, 2026. The biggest ScalaTest release since 3.0: typesafe styles, composable Expectations, and integrated shrinking. About the talk ScalaTest 3.3 is the biggest release since 3.0, and it completes a plan that started in 3.1, when FunSuite, FlatSpec and their siblings were deprecated and renamed AnyFunSuite, AnyFlatSpec. The Any prefix indicates that test bodies have type Any. One consequence is a test that forgets to assert still compiles, runs, and passes. In 3.3 the original names come back, with a test body type of Assertion. A test that ends in a Boolean expression in a FunSuite, for example, will not compile. The Any* styles stay — they are still useful in many ways — but now there's a more typesafe alternative. We paired the safer style traits add a new kind of assertion, an Expectation, which always returns a value rather than sometimes throwing an exception. Fact is that value, and it composes using the logical operators — such as &amp;&amp;, ||, or implies — so a sequence of statements whose results get discarded becomes one expression. In addition, we've been developing a property-based testing framework for several years, and it will be released as part of 3.3. Shrinking is integrated rather than bolted on. A generator produces a lazy tree of progressively simpler candidates instead of a bare value, and every candidate is filtered through the generator's own validity check, so a shrunken counterexample is always a value that generator could have produced in the first place. Edge cases are first-class as well: each generator carries a list of boundary values, and a property run works through those as well as generating random values, so the cases most likely to break your code are tried regularly rather than left to chance. Because Randomizer is immutable and seed-based, any failing run can be replayed exactly. About the speaker Bill Venners is president of Artima, Inc. He is the lead developer of the ScalaTest and Scalactic open source libraries and coauthor of Programming in Scala, Fifth Edition and Advanced Programming in Scala, Fifth Edition. GitHub: https://github.com/bvenners/, Speaker page: https://2026.scalasummit.com/speakers/bill-venners/, More talks and upcoming events: https://www.bayareatechtalks.com Scala Summit is part of Bay Area Tech Talks. Visit it to join our Meetup and Luma groups, find out about upcoming events, and watch more talk recordings. Conference: https://2026.scalasummit.com Also available to view this recording on YouTube https://youtu.be/JIzS_8SG7Yg</description>
        <lastBuildDate>Mon, 26 Oct 2026 09:42:45 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>PeerTube - https://watch.softinio.com</generator>
        <image>
            <title>What's New in ScalaTest 3.3 — Bill Venners | Scala Summit 2026</title>
            <url>https://watch.softinio.com/client/assets/images/icons/icon-1500x1500.png</url>
            <link>https://watch.softinio.com/videos/watch/ccf9df57-03ba-40f2-8432-96379c9fc58e</link>
        </image>
        <copyright>All rights reserved, unless otherwise specified in the terms specified at https://watch.softinio.com/about and potential licenses granted by each content's rightholder.</copyright>
        <atom:link href="https://watch.softinio.com/feeds/video-comments.xml?videoId=ccf9df57-03ba-40f2-8432-96379c9fc58e" rel="self" type="application/rss+xml"/>
    </channel>
</rss>