Comments (3)
@RomanPodymov if you want to already call await
then modern XCTest
allows you to do that.
final class XCTestTests: XCTestCase {
func testAsyncTests() async {
let getValue: () async -> Int = { 1 }
let a = await getValue()
let b = await getValue()
XCTAssertEqual(a, b)
}
}
However if you wanted to create the function it could work like this
public extension XCTestCase {
func XCTAssertEqualAsync<T: Equatable>(
_ expression1: @escaping () async -> T,
_ expression2: @escaping () async -> T
) {
let expectation = expectation(description: "XCTAssertEqualAsync")
Task {
let expression1Value = await expression1()
let expression2Value = await expression2()
XCTAssertEqual(expression1Value, expression2Value)
expectation.fulfill()
}
wait(for: [expectation])
}
}
and then you can just test it like this:
func testXCTAssertEqualAsync() async {
let getValue: () async -> Int = { 1 }
XCTAssertEqualAsync(getValue, getValue)
}
from swifterswift.
@RomanPodymov we'd need to create a separate package for test extensions in the Sources folder, because we can't add it to the core package or it will fail to build for anyone using SPM. Do you want me to set it up? Is it really necessary? Why not just use what is already available, as I suggested?
from swifterswift.
Hello @guykogus
Many thanks. But how can we share this function as a part of SwifterSwift?
from swifterswift.
Related Issues (20)
- Combine.Future extensions
- Additional combine publisher extensions to support combining 5 publishers
- Swift
- 字符串转时间的方法在12小时制出问题
- UIView Extension `addGradient(colors: locations: direction:)` HOT 2
- Add support of visionOS HOT 1
- Overload String `~=`
- Cannot build `FutureExtensionsTests` in Xcode 15.1 HOT 3
- Add `removeBlur()` in UIImageViewExtensions HOT 1
- Measurement +=, -=, *=, /= HOT 2
- Add Privacy Manifest HOT 1
- UIView GradientDirection is not public HOT 1
- 'Int' and 'String' cannot be multiplied HOT 1
- NSStackView.addArrangedSubviews and NSStackView.removeArrangedSubviews
- ITMS-91053
- ال
- appendingQueryParameters incomplete HOT 1
- Color can potentially by defined in other than RGB colorspace HOT 1
- StringExtensions ~= bug HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from swifterswift.