DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

The Latest Testing, Deployment, and Maintenance Topics

article thumbnail
Modernize Legacy Code in Production: Rebuild Your Airplane Midflight Without Crashing
Rewriting apps is easy. Doing it while preserving compatibility...that's a bit hard. Doing it live in production? That's the big challenge!
May 13, 2022
by Shai Almog DZone Core CORE
· 6,947 Views · 6 Likes
article thumbnail
Advancing to Agile From the Traditional Product Management Approach
Foster increased revenue and greater efficiency with Agile, one of the latest approaches for product management in the software development industry.
Updated May 13, 2022
by Heli Patel
· 2,891 Views · 3 Likes
article thumbnail
Flutter vs React Native. How to Cover All Mobile Platforms in 2022 With No Hassle
In this article, we will compare Flutter and React Native to decide which framework to choose for mobile app development.
May 13, 2022
by Sergey Laptick
· 5,978 Views · 2 Likes
article thumbnail
Time Synchronization in Distributed Systems: TiDB's Timestamp Oracle
This article is an introduction to PingCAP's TiDB’s timestamp oracle (TSO), how it delivers time services, and its strengths and weaknesses.
May 12, 2022
by haitao gao
· 7,097 Views · 2 Likes
article thumbnail
IoT Product Development Guide for Startups
75% of IoT projects fail. To avoid this scenario, you should carefully plan your project beforehand and familiarize yourself with the IoT product development stages.
May 12, 2022
by Roman Lapa
· 11,038 Views · 2 Likes
article thumbnail
Getting Started With Redis on AWS the Easy Way
This quick-start guide demonstrates how to use AWS Cloud9 IDE to help you get up and running with MemoryDB for Redis.
May 12, 2022
by Abhishek Gupta DZone Core CORE
· 39,465 Views · 3 Likes
article thumbnail
How to Test JavaScript Code in a Browser
Check out these six popular tools and techniques for testing your JavaScript code in a browser.
Updated May 11, 2022
by Jaswant Kaur
· 68,631 Views · 13 Likes
article thumbnail
The Evolution of Configuration Management: IaC vs. GitOps
Misconfigurations are the leading cause behind security incidents in Kubernetes environments.
May 11, 2022
by Twain Taylor DZone Core CORE
· 7,721 Views · 3 Likes
article thumbnail
How to Generate Fake Test Data
Are you also often uninspired when you need to think of useful test data for your unit tests? Is ‘John Doe’ your best test friend? Do not worry, Java Faker comes to the rescue! In this blog, you will learn how to generate your test data. 1. Introduction Making up test data is one of the hardest tasks when writing tests. Often you will see 123 when numbers are being used, or John Doe when a name is needed. But this also means that the test will always run with the same data. This is on the one hand a good thing because your tests needs to be stable, but on the other hand a pitty because you also want to find errors. And this is more likely when random test data is being used. Java Faker is a library based on Ruby’s faker gem and Perl’s Data::Faker library. It will generate fake data for you. There are other Java libraries for that, but in order to see which library gains popularity, a view on the GitHub stars history can be quite useful. As you can see, Java Faker is on the rise. Besides that, it is based on existing fakers in other languages. In this blog, you will learn how to use Java Faker. As usual, all sources being used in this blog are available at GitHub. 2. Add Dependency As a project to experiment with, you will create a basic Spring Boot application. Just navigate to start.spring.io and create a Spring Boot application with Java 17. Java Faker can also be used with plain Java applications of course. The only thing remaining to do, is to add the javafaker dependency to the pom. XML com.github.javafaker javafaker 1.0.2 test 3. First Test Java Faker offers many data fakers which can be used. A complete list can be found here and a demo application with some examples can be found here. In the first example you create, you create a Faker instance and from that moment on, you can choose a faker and generate data. Use the Address faker in order to generate a first name, a last name and a street name. Java @Test void addressFaker() { Faker faker = new Faker(); String firstName = faker.address().firstName(); String lastName = faker.address().lastName(); String streetName = faker.address().streetName(); System.out.println("First name: " + firstName); System.out.println("Last name: " + lastName); System.out.println("Street name: " + streetName); } The output is for example the following, but this will change on each run. Shell First name: Mika Last name: Terry Street name: Wisoky Walk 4. Locale Faker In the previous example, you noticed that English names are generated. But what if you want more locale specific names? That is also possible, but note that not every faker is available in every language. The list for your locale can be found here. Since I am interested in the Dutch locale, the previous example can be rewritten als follows (note that the address faker is available in the NL locale). The only difference is that you need to provide the locale when instantiating the Faker. Java @Test void addressNlFaker() { Faker faker = new Faker(new Locale("nl-NL")); String firstName = faker.address().firstName(); String lastName = faker.address().lastName(); String streetName = faker.address().streetName(); System.out.println("First name: " + firstName); System.out.println("Last name: " + lastName); System.out.println("Street name: " + streetName); } This returns the following output, which corresponds to Dutch names. Shell First name: Irmen Last name: Vaassen Street name: Severensweg 5. Random Strings With FakeValuesService With the FakeValuesService, you can generate several strings containing random data. In the next sections, some of the features are shown. 5.1 Random Strings With Numerify With numerify, you can generate a string containing random numbers. First, you need to create a FakeValuesService instance containing a locale and a RandomService. The method numerify will return a string where the hashes (#) are replaced with numbers. For every hash, a number is replaced. Java @Test void fakeValuesServiceNumerify() { FakeValuesService fakeValuesService = new FakeValuesService(new Locale("nl-NL"), new RandomService()); String randomNumber = fakeValuesService.numerify("number##"); System.out.println("Random number is: " + randomNumber); } The output is for example: Shell Random number is: number37 5.2 Random Strings With Letterify Similar as with numerify, letterify will allow you to replace characters in a string by means of a question mark. Java @Test void fakeValuesServiceLetterify() { FakeValuesService fakeValuesService = new FakeValuesService(new Locale("nl-NL"), new RandomService()); String randomLetters = fakeValuesService.letterify("somestring??"); System.out.println("Random letters are: " + randomLetters); } The output is for example: Shell Random letters are: somestringha 5.3 Random Strings With Bothify A combination of numerify and letterify can be achieved with bothify. With bothify, you can combine random numbers and characters. Java @Test void fakeValuesServiceBothify() { FakeValuesService fakeValuesService = new FakeValuesService(new Locale("nl-NL"), new RandomService()); String randomNumbersLetters = fakeValuesService.bothify("some string with numbers ## and letters ??"); System.out.println("Random numbers and letters are: " + randomNumbersLetters); } The output is for example: Shell Random numbers and letters are: some string with numbers 10 and letters ll 5.4 Random Strings With Regexify When all of the above is not enough, you can also generate strings based on a regular expression with regexify. The next regular expression will choose one or more characters of the list a, b, or c, followed by any whitespace character and a digit. Java @Test void fakeValuesServiceRegexify() { FakeValuesService fakeValuesService = new FakeValuesService(new Locale("nl-NL"), new RandomService()); String randomBasedRegex = fakeValuesService.regexify("[abc]+\\s\\d"); System.out.println("Random string based on a pattern: " + randomBasedRegex); } The output is for example the following. Note that it generates ‘any whitespace character’ which in this case is an end of line character. Shell Random string based on a pattern: ab 9 6. Conclusion Java Faker is an easy to use data faker generation library. It relieves you from the burden of making up test data for your tests. Moreover, it will generate other data on each run which might reveal bugs in your application. The documentation of the library could have been better, but on the other hand, the library is also easy to use, so it should not be a major problem after all.
May 11, 2022
by Gunter Rotsaert DZone Core CORE
· 8,286 Views · 6 Likes
article thumbnail
Automated CI/CD of Multiple Projects Using TeamCity’s Kotlin DSL
Using a programming language to define build configuration allows for a dramatic reduction in manual configuration settings tweaking.
Updated May 11, 2022
by Ilya Kaznacheev
· 16,208 Views · 5 Likes
article thumbnail
JUnit 5 Tutorial: Nice and Easy [Video]
Want a fun and engaging intro to the JUnit 5 testing ecosystem? Check out this live-coding session on a new episode of "Marco Codes."
May 11, 2022
by Marco Behler
· 6,064 Views · 5 Likes
article thumbnail
Kafka Fail-Over Using Quarkus Reactive Messaging
Learn about a scenario where, at first glance, I needed an active-active Kafka cluster with bi-directional replication. What happened as I dove deeper?
May 11, 2022
by Raffael Mendes
· 7,186 Views · 2 Likes
article thumbnail
Securely Authenticate to Google Cloud From GitHub
Learn how to authenticate to GCP and a suite of tools from GitHub.
Updated May 10, 2022
by Nicolas Fränkel
· 3,578 Views · 2 Likes
article thumbnail
Product Owner Anti-Patterns
From output focus to Sprint stuffing to making assignments
Updated May 10, 2022
by Stefan Wolpers DZone Core CORE
· 5,263 Views · 3 Likes
article thumbnail
How to Configure Git in Eclipse IDE
Let's get Git configured in Eclipse so you can import and perform operations on repos within your IDE.
Updated May 10, 2022
by Vishwas Sampath
· 46,855 Views · 5 Likes
article thumbnail
What Is White Box Testing? — A Brief Guide
This article will see the definition of white box testing, techniques of white box testing, types, advantages, and disadvantages of white box testing.
May 10, 2022
by Devangi Shah
· 4,811 Views · 4 Likes
article thumbnail
Ultra-Fast Microservices: When MicroStream Meets Wildfly
In the second part of the ultra-fast series, In this article, learn a new database that can make your microservices scale up quickly in the Java world!
Updated May 10, 2022
by Otavio Santana DZone Core CORE
· 17,952 Views · 9 Likes
article thumbnail
Is Java Still Relevant?
Java is widely used in different ways, especially by popular platforms you might often use, such as Twitter, Google, Amazon, Spotify, and YouTube.
Updated May 9, 2022
by Swathi Nelabhatla
· 60,990 Views · 24 Likes
article thumbnail
Comparing Akka Streams, Kafka Streams and Spark Streaming
We'll discuss the pros and cons of the frameworks and which to use when.
Updated May 9, 2022
by Daniel Ciocirlan
· 23,696 Views · 3 Likes
article thumbnail
OPC-UA, MQTT, and Apache Kafka: The Trinity of Data Streaming in IoT
Learn about Apache Kafka, MQTT, and OPC-UA for data streaming in IoT and Industry 4.0, including architectures, comparisons, and examples from Audi and BMW.
May 9, 2022
by Kai Wähner DZone Core CORE
· 10,917 Views · 10 Likes
  • Previous
  • ...
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • ...
  • Next
  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook
×