SwiftUI Unit tests
up:: SwiftUI onboarding
- Unit tests are in a separate target. They don’t get compiled and sent to the App Store
- New > Target > Unit Testing Bundle
 
- New file: Unit test class file
- For each View, create a new test file
 
- Each function must start with test- naming structure: test_UnitOfWork_StateUnderTest_ExpectedBehaviour- eg: test_UserListViewModel_isPremium_shouldBeTrue
 
- eg: 
- testing structure:
- Given
- When
- Then
 
 
- naming structure: 
@testable import MyApp // because we are in a different target, need to import app
 
func test_UserListViewModel_isPremium_shouldBeTrue() throws {
	// Given
	let userIsPremium: Bool = true
 
	// When
	let vm = UserListViewModel(isPremium: userIsPremium)
 
	// Then
	XCTAssertTrue(vm.isPremium)
}