Symflower Newsletter June 2023 - Introducing auto-wiring for Spring Boot controllers, type resolution, our documentation, new default values & more
Hello ??!
Let us kick off June’s newsletter with a quick thank you to all the devs that agreed to talk to us about their experiences with Symflower! Your feedback is greatly appreciated and helps guide our product development efforts.
Ready to share your feedback about Symflower? Join our advocate program?to help shape the future of testing (and to earn some fancy perks plus a €20 Amazon gift card).?Talk to us ->
In May and June, our busy bee dev team worked to publish Symflower’s documentation and changelog, made a few fixes, and added new features. Read on for key highlights, and visit our public changelog to get down to the nitty-gritty.
We’ve recently enabled auto-wiring for Spring Boot controllers, type resolution for test template generation, added support for language-specific settings, and the ability to combine multiple configuration files. In other news, Symflower now uses new (non-zero/non-empty) default values in test templates. In terms of usability updates, we’ve added smart “TODO” suffix handling and better notifications, among a range of other updates. Read on for details.
Share your feedback about Symflower
We are looking for developers like you to test Symflower on-air and give us your feedback about the product. Interested? Talk to us ->
What’s new in Symflower? ??
NEW FEATURES
Symflower's documentation is now public??? Our new documentation website?https://docs.symflower.com?is continuously updated and provides information on Symflower's functionality, real world examples in the form of tutorials, and technical information.
Auto-wiring for Spring Boot controllers ?? When Symflower detects that a Spring Boot controller?is used, dependencies of services and repositories are now auto-wired for the controller's tests.
Type resolution for test templates enabled???Type resolution is now fully enabled for test template generation, meaning better initializations, imports, calls, and assertions for generated test templates. Encountered a test template that doesn’t look as expected or doesn’t compile? Let us know at?[email protected].
Smart “TODO” suffixes??? In case a function or test name already exists, Symflower now adds a “TODO” suffix when generating tests, and selects the suffix automatically for quick editing.
Notifications on inaccessible (e.g. private) functions?? When performing manual actions on inaccessible symbols, Symflower now shows an informative notification on why the action had no results. This helps you identify and fix the problem faster.
Language-specific settings??? Language-specific settings allows Symflower to support more complicated projects that often have directory-related language-specific settings.
Combine multiple configuration files??? ?? ?? ?? Multi-layered configurations for Java and Symflower-related configuration files enable the inheritance of configurations from parent directories.
New default values ?? Symflower now uses non-zero/non-empty default values in test templates for:
Transpile annotations of Java interfaces ?? Annotations of Java interfaces are now considered in all analyses of Symflower, enabling the generation of better tests.
Support for shift assignment operators ?? Symflower can now analyze left and right shift Java operators (`<<=`, `>>=` and `>>>=`) used as shortcuts in assignments.
FIXES
Reuse open test files?? Symflower now opens files in existing split groups instead of creating a new split group when generating test suites or templates.
Fixed JetBrains editor bugs??? ♂? Symflower now only initializes the language server once for all JetBrains editor windows. When closing a JetBrains editor, we now deserialize Symflower to swiftly exit all processes.
Context-aware test reviews??? Instead of showing all existing tests along the generated test suite in your virtual file, Symflower now only shows the generated tests relevant to your current context.
Create directories for test files??? In case a test file’s path defines a directory that does not exist, Symflower will now create the directory instead of sending an error notification.
领英推荐
Extracting Maven dependencies from the "jar" binary??? We’ve made calling the “jar” binary OS-independent for the JAR extraction of Maven dependencies to avoid issues under Windows. This way, Symflower can analyze more source code and generate more tests.
Compilation error notifications??? Symflower now displays informative notifications about compilation errors. This removes the necessity of looking in the log, making it easier to fix these errors.
Sensible overwriting of settings??? CLI arguments now overwrite environment variables, and environment variables now overwrite settings of files and defaults as expected.
…and many, many more new features and fixes. For a complete list of changes, see our changelog at https://docs.symflower.com/docs/changelog/.
Interesting reads
Debugging part 3: Using unit tests to debug software applications
What’s our #1 tip for efficient debugging? Using unit tests as your Swiss army knife! ?? Follow how we do it in part 3 of our debugging series! ??
Debugging part 4: Finding simple reproducers during debugging with Symflower
Finding simple reproducers can be a hassle ?? ?? but not with Symflower! Find out how to use Symflower during debugging in part 4 of our series.
What is the cost of missing tests? 2/4: Increased development time
Software teams that don’t focus enough on testing will experience all sorts of problems ?? Next up in our series on the costs of missing tests: increased development times ?
What is the cost of missing tests part 3/4: Growing technical debt
Prioritizing delivery time over quality can lead to accumulating technical debt ?? That’s what we dive into in part 3 of our series on the costs of missing tests ??
How to get started with Test-Driven Development
Just getting started with Test-Driven Development? ?? Read our best practices that help your team tackle the initial learning curve to make your TDD adoption a success ??
How to introduce TDD in your organization?
Let’s face it: TDD can be challenging to adopt ?? Our guide provides best practices to ensure a successful TDD transition for your team ??