hidden

Tech blog of j-labs' engineers. Experiences, knowledge, solutions.

Custom formatters in Cucumber

I’ve been working with cucumber-java test framework for some time now and I must admit, I really like what is possible to achieve by using it. Of course, it is quite common in test automation, that more often it is required to do something that is nearly impossible than otherwise.

Bartłomiej Drzewiński

|

18 Sep 2019


Read more
3

Custom formatters in Cucumber

18 Sep 2019 | Bartłomiej Drzewiński

I’ve been working with cucumber-java test framework for some time now and I must admit, I really like what is possible to achieve by using it. Of course, it is quite common in test automation, that more often it is required to do something that is nearly impossible than otherwise.

Read more
4

Reinforcement Learning with Q-Learning

04 Sep 2019 | Konrad Habryn

  Python 

Reinforcement learning is a type of machine learning that does not require a dataset to learn from. It can learn from the experience it gathers. Let’s think of the network as of an agent in a defined environment. The agent learns about the environment through the actions it performs and a feedback it receives. For each action, it will receive a reward, if the action was good or a penalty otherwise. Based on the knowledge the agent has gathered and the current state of the environment, the next action is chosen.

Read more
5

Testing and simulating mobile devices in Chrome DevTools

28 Aug 2019 | Tomasz Watras

  Mobile 

Web application testing is not only web browser compatibility testing nowadays. Verifying proper visibility on mobile devices as tablets and smartphones is same or even more important in the context of potential users.

Read more
6

How to use monads in Java

21 Aug 2019 | Przemysław Sobierajski

  Java 

Java is not a functional programming language. Despite the fact that Java 8 came with some elements from functional world, there is still no way to write fully functional code in Java. One of the key aspect of functional programming is using monad. I am not going to describe what are monads but I will describe some of them and respond to the title question.

Read more
7

Advanced mocking with Mockito

14 Aug 2019 | Tomasz Głuszak

  Java Mockito 

Purpose of unit tests is to test small chunks of code independently, in separation from any dependencies. In many cases to keep this kind of separation tools like Mockito come in handy. Mockito is mocking framework, Java library that allow to simulate calls on dependent objects instead of calling the real ones. A mock object returns a dummy data corresponding to dummy input passed to it.

Read more
8

Phone Authorization with Firebase and Ionic

07 Aug 2019 | Szymon Bury

  Mobile Front-end 

Demand for web and mobile applications is still increasing. Developers nowadays don’t build whole systems from scratch since it’s time and cost consuming. With rise of platforms such as Firebase, Azure or AWS we have a way of developing apps quicker and with more confidence.

Read more
9

Test Automation with Python

31 Jul 2019 | Marcin Halastra

Python code just like in any other language requires testing. Unittest is a python framework dedicated for it. It has origins in Junit in terms of code structure and behavior. In this article I will try to illuminate a little bit the topic of testing in Python and provide some good practices.

Read more
10

Dealing with Java Exceptions in a functional way

24 Jul 2019 | Przemysław Sobierajski

  Java 

You may have heard that checked exceptions in Java are evil. Some people even say that they are Java’s biggest mistake. There is a lot of languages like Scala, Kotlin, C# or C++ which don’t have checked exceptions at all. Unchecked exceptions are generally better choice. Undoubtedly, you are able to write your code without creating new checked exceptions. However, you have to deal with them constantly, because a lot of standard or popular libraries abuse them. In result, your Java code is full of ugly throw catch clauses. They interfere with a regular application control flow.

Read more
11

Better planning and estimating

17 Jul 2019 | Tomasz Głuszak

  Agile 

There are countless cases where major delays in product development are caused by poor estimation-related decisions. When it comes to both, high-level (long term features) and low-level (user stories, daily tasks) planning, developers tend to underestimate the work.

Read more
Page 1 of 9