Jest

DevOps / Build, Test, Deploy / Javascript Testing Framework
Shared insights
at

I'm working as one of the engineering leads in RunaHR. As our platform is a Saas, we thought It'd be good to have an API (We chose Ruby and Rails for this) and a SPA (built with React and Redux ) connected. We started the SPA with Create React App since It's pretty easy to start.

We use Jest as the testing framework and react-testing-library to test React components. In Rails we make tests using RSpec.

Our main database is PostgreSQL, but we also use MongoDB to store some type of data. We started to use Redis 聽for cache and other time sensitive operations.

We have a couple of extra projects: One is an Employee app built with React Native and the other is an internal back office dashboard built with Next.js for the client and Python in the backend side.

Since we have different frontend apps we have found useful to have Bit to document visual components and utils in JavaScript.

READ MORE
19 upvotes745.7K views
Avatar of undefined
Shared insights
on
Jest
Cypress

As we all know testing is an important part of any application. To assist with our testing we are going to use both Cypress and Jest. We feel these tools complement each other and will help us get good coverage of our code. We will use Cypress for our end to end testing as we've found it quite user friendly. Jest will be used for our unit tests because we've seen how many larger companies use it with great success.

READ MORE
7 upvotes140.1K views
Avatar of undefined
Avatar of zimoony
Senior Fullstack Developer at QUANTUSflow Software GmbH

Our whole Vue.js frontend stack (incl. SSR) consists of the following tools:

  • Nuxt.js consisting of Vue CLI, Vue Router, vuex, Webpack and Sass (Bundler for HTML5, CSS 3), Babel (Transpiler for JavaScript),
  • Vue Styleguidist as our style guide and pool of developed Vue.js components
  • Vuetify as Material Component Framework (for fast app development)
  • TypeScript as programming language
  • Apollo / GraphQL (incl. GraphiQL) for data access layer (https://apollo.vuejs.org/)
  • ESLint, TSLint and Prettier for coding style and code analyzes
  • Jest as testing framework
  • Google Fonts and Font Awesome for typography and icon toolkit
  • NativeScript-Vue for mobile development

The main reason we have chosen Vue.js over React and AngularJS is related to the following artifacts:

  • Empowered HTML. Vue.js has many similar approaches with Angular. This helps to optimize HTML blocks handling with the use of different components.
  • Detailed documentation. Vue.js has very good documentation which can fasten learning curve for developers.
  • Adaptability. It provides a rapid switching period from other frameworks. It has similarities with Angular and React in terms of design and architecture.
  • Awesome integration. Vue.js can be used for both building single-page applications and more difficult web interfaces of apps. Smaller interactive parts can be easily integrated into the existing infrastructure with no negative effect on the entire system.
  • Large scaling. Vue.js can help to develop pretty large reusable templates.
  • Tiny size. Vue.js weights around 20KB keeping its speed and flexibility. It allows reaching much better performance in comparison to other frameworks.
READ MORE
18 upvotes1 comment395.9K views
Avatar of undefined
Needs advice
on
NestJS
and
LoopBack

We inherited this project and the backend is using LoopBack v3. I haven't taken a look at Loopback.io v4, but I'm planning to replace it. The reason being is that Loopback v3 documentation is a bit confusing and we are having trouble packaging the build using Webpack. Not to mention, integrating unit tests (latest Jest).

I still think Loopback is a great tool, but their documentation is really "messy" and hard to navigate through. There's also a constraint of time from our side. So what's the best option out there?

Should I try upgrading to Loopback v4, or trying other stuff? (i.e. NestJS)

Thanks!

READ MORE
6 upvotes16.6K views
Replies (4)
Avatar of yogevlahyani
Senior Software Engineer at Autodesk
Recommends
NestJS

As part of a new service we planned, we decided to choose Loopback v3 and v4 as POC and it was a nightmare.

After 2 weeks of fighting with the loopback framework and try to understand the documentation, we decided to search for other frameworks, we tried Adonis, Hapi, and many more.

After about a month of multiple POCs (I guess we had too much free time and we wanted something for the long run), we came across Nestjs when it was version 4 or 5 I think and it was great, we started to promote this framework within the company and we are using this framework in multiple new services in high scale and it works great! Super flexible and full express or fastify support.

It has monorepo support and I'm personally using it with NX for monorepo (Nx, terraform and nestjs with typeorm)

It's not yet perfect but has a great community and its expanding pretty nice :)

READ MORE
4 upvotes873 views
Recommends
LoopBack

I think this really depends on how flexible your timeline is. For my personal preference I would pick nestjs for a project now days. However migrating from loopback 3 -> NestJS could be kind of challenge and an expensive process if the project is big and also if integration tests are not trustable. I would say you better migrate to loopback 4 as they have a migration guide that help you with the basics and propose an incremental approach, https://loopback.io/doc/en/lb4/migration-overview.html.

i also would like to suggest an investigation on the feature parity ( what things are using from loopback 3 that has a feature parity with loopback 4, or with NestJS ) to evaluate the migration difficulty and effort.

READ MORE
3 upvotes1K views
View all (4)