Have you ever faced challenges with unit testing in mobile development? Working with third-party libraries can complicate testing due to their reliance on singleton patterns and static methods. To improve testability, wrapping these libraries in abstractions using protocols allows for mock implementations, enhancing maintainability and flexibility for potential SDK changes. Check out the link below to read Rob Hartman's full blog on this topic. https://bit.ly/3V0eIJV
SpinDance, a Mutually Human company的动态
最相关的动态
-
?? New Article Alert! ?? I’m excited to share the latest part of my series: “SwiftUI Modularisation: Unit Test Implementation”! ?? In this installment, I dive into the intricacies of unit testing within a modularized iOS project, building on the concepts from the first episode(https://lnkd.in/dmw3qQYn) . My goal is to demonstrate a different modularization method than TCA (The Composable Architecture), and this article is not intended to spark debates on the “best” structure for SwiftUI projects. Whether you’re a seasoned developer or just getting started with Swift, this article offers valuable insights on how to structure your tests to ensure reliability and maintainability in your codebase. ?? Key Takeaways: ? How to set up unit tests for a modularized iOS project using Swift and SwiftUI. ? The importance of mock data and repositories in validating business logic. ? Practical examples of testing view models, including asynchronous operations. If you’re interested in enhancing your testing strategy and making your iOS projects more robust, this is a must-read. Check it out and let me know your thoughts! ?? ?? https://lnkd.in/dfeZYbdi #iOSDevelopment #Swift #SwiftUI #UnitTesting #ModularArchitecture #MobileDevelopment #CleanCode
要查看或添加评论,请登录
-
KISS. Ab/using Swift advanced features is not synonym of increasing readability/code maintenance. If you don't really need them (performance, specific architecture pattern needs) you might not need to use those features and it might be worthy to sacrifice some extra lines of code in favor of better readability: - Force unwrapping - Property Wrappers - Abuse of Extensions .... You will find a non exaustive and objective list of language syntax and features that you might not need to (ab)use in order to implement your software. https://lnkd.in/e3wzsbz5
The cool Swift features that you should not (ab)use
medium.com
要查看或添加评论,请登录
-
Types of Tests in #Android When we talk about tests, we usually break them down into different types, often shown in a pyramid diagram. The pyramid's axes highlight two crucial aspects: speed of execution and coverage. Basically, the faster the tests run and the more code they cover, the better. In the context of Kotlin Multiplatform (KMP), the main goal is to share business logic across multiple platforms. This means we won't be diving into UI tests here since those are specific to each platform’s UI framework. Instead, we'll focus on unit tests and integration tests. Unit tests are the foundation. They’re quick, testing small pieces of code in isolation. Think of them as the bread and butter of testing, ensuring individual functions or methods work correctly. Integration tests come next, checking how different parts of the system work together. They’re a bit slower than unit tests but give you a broader view of the system’s health. By focusing on these types of tests, we ensure our shared code is robust and reliable across all platforms KMP supports. This approach helps catch errors early, improves development efficiency, and gives us confidence in the changes we make.
要查看或添加评论,请登录
-
In this blog, I delve into the challenges of testing native mobile apps developed for different operating systems. Manual testing can be time-consuming and automation often results in flaky tests. So, how can we enhance the reliability of our tests? The answer lies in programming design patterns! ?? I discuss the implementation of the Abstract Factory design pattern for Screen Object management with Appium, aiming to reduce test flakiness and increase test reliability. This pattern is a reusable solution to common problems in software design, development, and architecture. ??? Read the full article here:?https://lnkd.in/d8JmS8Fd ???
要查看或添加评论,请登录
-
What is code coverage? What are its types? How is code coverage computed? What are the major code coverage engines for android right now? Which is the best code coverage tool for android? What is the future for android code coverage? Curious about the Code coverage tools history? Read the article! https://lnkd.in/di72mzmV
Code Coverage?—?Kotlin (Android)
medium.com
要查看或添加评论,请登录
-
Snapshot Testing are useful for : - API Integration testing or thing that won't change too often. Code Coverage - Provide a report about the important stuff in your app that's not being coverage. https://lnkd.in/ed7ufBRF Notes : https://lnkd.in/dzRwUfR9 Course : https://lnkd.in/dusrByiJ . . . . . . . . #server #react #code #split #performance #budget #production #next #testing #test #mocktest #coverage
Technique : Testing Snapshot & Code Coverage - Final Video
https://www.youtube.com/
要查看或添加评论,请登录
-
Discover the efficient world of dialog management using MobX and React Context API in my latest blog post. Learn how to handle dialogs seamlessly while optimizing performance with MobX's reactive programming model. Dive in for practical insights and implementation strategies.
Managing Dialogs with MobX and React Context API
link.medium.com
要查看或添加评论,请登录
-
?? Completed a ToDo app project in a tight timeline! This week, I was tasked with developing a ToDo List app as part of a technical assignment. The project required the implementation of the VIPER architecture. The task included the following requirements: ?? Task Description: Display, add, edit, and delete tasks. Load the task list from an external API and save data using Core Data. Process operations asynchronously using GCD. Ensure data persistence across app launches. The key challenge of this project was to ensure that all task-related operations were handled in the background to keep the interface responsive. Additionally, the VIPER architecture was required to ensure clear separation between the components: View, Interactor, Presenter, Entity, and Router. ?? Technologies: VIPER architecture for clean separation of logic. Core Data for data persistence. GCD for multithreading and smooth UI performance. ? This project was a great opportunity to refine my skills in multithreading and working with the VIPER architecture. #iOSDevelopment #SwiftUI #CoreData #VIPER #GCD #Multithreading #CleanArchitecture #ToDoApp #LinkedIn #SoftwareDevelopment #AppDevelopment #ProjectCompleted https://lnkd.in/deiNma8n
要查看或添加评论,请登录
-
SwiftUI's .task view modifier is more powerful than you might think. For example, you can use it to delay execution of a piece of code - for example, to mark an email as read a few seconds after the user opened it. https://lnkd.in/efPdHHdf
要查看或添加评论,请登录
-
In this article you will learn how to setup debug, staging and release environment in android projects. it's a good practice, before writing any code, just set up the environment so that it will be helpful in the scalability of the project. https://lnkd.in/gWHgAKdM
Setup Android Environment— debug?, staging and release.
nameisjayant.medium.com
要查看或添加评论,请登录
Helpful. Distinguished Engineer. Director-Level. Entrepreneur. Founder. Chief Engineer of a successful startup. Building great teams to invent great products!
3 周Nice!