登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
Gitee AI
NEW
我知道了
查看详情
登录
注册
Gitee 1024 有奖征集启动,提交你的创意作品,赢取程序员们都爱的礼品!
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
1
Star
0
Fork
0
幽鸟
/
Nimble
代码
Issues
0
Pull Requests
0
Wiki
统计
流水线
服务
Gitee Pages
JavaDoc
PHPDoc
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
我知道了,不再自动展开
发行版
v8.0.4
6abeb3f
2022-10-28 22:43
对比
v8.0.4
DBU
Improvements [CocoaPods] Use modular headers #688 Bugfixes Fix device builds for iOS and tvOS #687
最后提交信息为:
Bumping version to 8.0.4
v8.0.3
ed9881d
2022-10-28 22:42
对比
v8.0.3
DBU
Improvements Tweak build settings #670 Update CwlPreconditionTesting #675, #682 [CI] Use GitHub Actions for Darwin platforms #676, 679 [CI] Update Linux Swift versions #678 Support throwAssertion matcher on SwiftPM on Darwin #680 [CI] Test Xcode 11 #683 Reduce test duration in AsynchronousTest #684
最后提交信息为:
Bumping version to 8.0.3
v8.0.2
f865764
2022-10-28 22:42
对比
v8.0.2
DBU
Improvements Update CocoaPods to 1.7.1 #640, #668 Support Swift 5's Package.swift syntax (platforms support) #641 (Thanks @devxoul) [CocoaPods] Support swift_versions which is available since CocoaPods 1.7 #669 Update .hound.yml #645 [refactoring] Use canImport(Darwin) #647 [Xcode] Set DEPLOYMENT_TARGET and TARGETED_DEVICE_FAMILY build settings at target level #648 Xcode 10.2: Update to recommended settings #649 [refactoring] Remove compatibility hack below Swift 4.2 #651 Remove now-unnecessary Linux hack #652 Remove now-unnecessary platform checks #653 Suppress warnings #658 Tweak build settings #660 Reduce deprecated Matcher type usages in some matchers #663 Replace deprecated Predicate.matches(_:failureMessage:) and Predicate.doesNotMatch(_:failureMessage:) #664, #666 [gardening] Remove unnecessary parentheses #667 Bugfixes Fix ambiguities of beGreaterThan, beGreaterThanOrEqualTo, beLessThan and beLessThanOrEqualTo matchers on Linux with Swift 5.1 #659 Docs [README] Document support & installation via Accio #646 (Thanks @Dschee)
最后提交信息为:
Bumping version to 8.0.2
v8.0.1
43304bf
2022-10-28 22:41
对比
v8.0.1
DBU
Bugfixes Fix beEmpty and contain matcher ambiguity for some types which conform to both Sequence and SetAlgebra #639 (Thanks @ikesyo)
最后提交信息为:
Bumping version to 8.0.1
v8.0.0
a27c518
2022-10-28 22:41
对比
v8.0.0
DBU
Nimble v8 has been released! 🎉 The new major version requires Swift 4.2 / Xcode 10.1 at least, which also supports Swift 5.0 / Xcode 10.2 as well. BREAKING CHANGES Migrate to Swift 4.1 and drop Swift 3.x support #515 (Thanks @ikesyo) Bump MACOSX_DEPLOYMENT_TARGET to 10.10 #526 (Thanks @ikesyo) Reduce NMBObjCMatcher usages #592, #600 (Thanks @ikesyo) Bump Swift requirement to 4.2 #607, #628 (Thanks @heyzooi and @ikesyo) Additions Sequence elementsEqual matcher #557 (Thanks @LucianoPAlmeida) Add beEmpty matcher for SetAlgebra #594 (Thanks @ikesyo) Add contain matcher for SetAlgebra #609 (Thanks @ikesyo) Improvements Swift 4.1: Adopt LinuxMain generation feature by swift test --generate-linuxmain #516 (Thanks @ikesyo) Remove equal matcher overloads for [T: C]? and [T]? thanks to Conditional Conformance #521 (Thanks @ikesyo) [gardening][BeVoid] Move operators into types #522 (Thanks @ikesyo) Simplify equal matcher for [T?] #524 (Thanks @ikesyo) [Xcode] Enable New Build System #527 (Thanks @ikesyo) Utilize multiline string literals #544 (Thanks @ikesyo) [SwiftLint] Remove force_cast from disabled_rules #562 (Thanks @ikesyo) [SwiftLint] Remove identifier_name from disabled_rules #563 (Thanks @ikesyo) [SwiftLint] Remove force_try from disabled_rules #582 (Thanks @ikesyo) Rename Sequence.all to allSatisfy to match SE-0207 #583 (Thanks @ikesyo) Remove workaround to SR-2290 #593 (Thanks @norio-nomura) [SwiftLint] Remove todo from disabled_rules #602 Test Swift 5.0 (5.0-DEVELOPMENT-SNAPSHOT-2019-02-05-a) #629 (Thanks @ikesyo) [CI] Test with Xcode 10.2 #637 (Thanks @ikesyo) Bugfixes 🐛Workaround to noescape bug in Xcode 10 beta 1 #537 (Thanks @phatblat) Revert "🐛Workaround to noescape bug in Xcode 10 beta 1" #560 (Thanks @ikesyo) [podspec] Remove duplicate swift_version setting #630 (Thanks @ikesyo) Docs Add a "Reviewed by Hound" badge #586 (Thanks @salbertson)
最后提交信息为:
Bumping version to 8.0.0
v7.3.4
e9d7691
2022-10-28 22:40
对比
v7.3.4
DBU
Improvements Internal refactoring #519, #624, #631 (Thanks @ikesyo and @LucianoPAlmeida) Bugfixes fix escaping closure crash within Xcode 10 #612, #633 (Thanks @WilliamZang and @ikesyo) Docs Fix code example typo on Writing Your Own Matchers #547, #634 (Thanks @alaphao and @ikesyo)
最后提交信息为:
Bumping version to 7.3.4
v7.3.3
9a281b1
2022-10-28 22:39
对比
v7.3.3
DBU
Bugfixes Fix Swift 4.2 and Swift 5 compatibility #604 #626 (Thanks @wongzigii and @ikesyo)
最后提交信息为:
Bumping version to 7.3.3
v7.3.2
df937ff
2022-10-28 22:39
对比
v7.3.2
DBU
Bugfixes Provide fallback messages to prevent crashes when main run loop is busy #508 #622 (Thanks @lyricsboy and @ikesyo) Fix Swift 4.2 compatibility on Linux #619 #621 (Thanks @ikesyo)
最后提交信息为:
Bumping version to 7.3.2
v7.3.1
cd6dfb8
2022-10-28 22:38
对比
v7.3.1
DBU
Bugfixes Xcode 10: Adjust Build Phases order #605, #606 (Thanks @ikesyo)
最后提交信息为:
Bumping version to 7.3.1
v7.3.0
7c61d8e
2022-10-28 22:38
对比
v7.3.0
DBU
Improvements Make recordFailure public, which is useful for defining a custom AssertionHandler #543, #599 (Thanks @maryamaffinityclick and @ikesyo)
最后提交信息为:
Bumping version to 7.3.0
v7.2.0
d91327f
2022-10-28 22:36
对比
v7.2.0
DBU
Improvements Internal refactoring #564, #565, #566, #567, #568, #569, #570, #571, #572, #573, #577, #578, #579, #580, #581, #584, #589, #590, #595 (Thanks @ikesyo) Make Expectation constructor public #531, #576 (Thanks @sirlantis and @ikesyo) Bugfixes Fix ExpectationMessage.update(failureMessage:) not to update a FailureMessage instance with empty string #587 (Thanks @ikesyo) [containElementSatisfyingMatcher] Using postfixMessage would be preferable instead of overwriting to #588 (Thanks @ikesyo)
最后提交信息为:
Bumping version to 7.2.0
v7.1.3
9c1379f
2022-10-28 22:36
对比
v7.1.3
DBU
Improvements Add -Xlinker -no_application_extension to OTHER_LDFLAGS to silence a linker warning #541 (Thanks @ikesyo) Internal refactoring #546, #548, #552, #558, #559 (Thanks @ikesyo) Bugfixes Fix test failures with Xcode 10 #534 (Thanks @sharplet) Fix that assertion failures stop a test suite execution #545 (Thanks @ikesyo) Fix a build error on Swift 4.2 mode #549, #554 (Thanks @sunshinejr and @ikesyo)
最后提交信息为:
Bumping version to 7.1.3
v7.1.2
8023e39
2022-10-28 22:35
对比
v7.1.2
DBU
Improvements Swift 4.2 and Xcode 10 support #530, #532 and #536 (Thanks @sharplet, @Dschee and @ikesyo) Bugfixes Fix CocoaPods integration issue regarding APPLICATION_EXTENSION_API_ONLY build setting #525 (Thanks @ikesyo)
最后提交信息为:
Bumping version to 7.1.2
v7.1.1
21f4fed
2022-10-28 22:35
对比
v7.1.1
DBU
Improvements Improve the interoperability with CocoaPods 1.5 Swift Static Libraries support #517 (Thanks @ikesyo)
最后提交信息为:
Bumping version to 7.1.1
v7.1.0
5e11474
2022-10-28 22:34
对比
v7.1.0
DBU
Improvements Make PredicateResult members public for use in custom matchers #455 (Thanks @ishaanSejwal) Implement satisfyAllOf matcher and && operator #511 (Thanks @wongzigii) Xcode 9.3 support #513 (Thanks @ikesyo) Bugfixes Fix waitUntil ignore AsyncDefaults.Timeout value #512 (Thanks @wongzigii) Docs README improvements #497 and #504 (Thanks @fphilipe and @revolter)
最后提交信息为:
Bumping version to 7.1.0
v7.0.3
22800b0
2022-10-28 22:34
对比
v7.0.3
DBU
Improvements Update CwlPreconditionTesting dependency and improve Thread Sanitizer interoperability #472 (Thanks @ikesyo) Address some SwiftLint warnings #484 (Thanks @wongzigii) Bugfixes Fix Swift 4.0.2 compatibility on Linux #483 (Thanks @ikesyo)
最后提交信息为:
Bumping version to 7.0.3
v7.0.2
38c9ab0
2022-10-28 22:33
对比
v7.0.2
DBU
This release fully supports Xcode 9 (both Swift 3.2 and Swift 4)! 🎉 This also contains a memory leak fix and some documentation updates. Improvements Support both Swift 3.x and Swift 4 #457 (Thanks @ikesyo) Xcode 9 Support (Swift 3.2) #446 (Thanks @shaps80 and @ikesyo) Address redundant conformance warnings in Swift 4 #443 (Thanks @ikesyo) Bugfixes Fix memory leak when using async expectations #449 and #450 (Thanks @ryanfitz and @jeffh) Docs README tweaks for Custom Validation #462 (Thanks @holmes) Fix async Swift docs #458 (Thanks @mrh-is) Show more illustrative example for waitUntil #441 (Thanks @mrh-is)
最后提交信息为:
Bumping version to 7.0.2
v7.0.1
39b6700
2022-10-28 22:32
对比
v7.0.1
DBU
A small release with a hotfix for Xcode 9 and some documentation upkeep. Bugfixes Test in Swift 3 compatibility mode #431 (Thanks @sharplet) Fixes errors in Xcode 9 beta 1 'Cannot use mutating member on immutable value: 'generator' is a 'let' constant Fixed expectation regression & failure bugs #428 (Thanks @jeffh) Docs Documentation update #423 (Thanks @chamander) Fixed parameter name #421 (Thanks @honghaoz) Fixed typos #426 (Thanks @Lutzifer)
最后提交信息为:
Bumping version to 7.0.1
v7.0.0
382729b
2022-10-28 22:32
对比
v7.0.0
DBU
Nimble 7 is released! This is part of a series of major version releases to support a major change undergoing in Nimble - specifically how custom matchers are written. If you don't use custom matchers, you should see little visible changes and can safely skip to the bottom to see the "Other Changes". But if you do use custom matchers or are interested in the technical details, continue reading. In short, Nimble is replacing Matcher protocol with Predicate type. The Predicate type attempts to address several common pitfalls when creating custom matchers and allow for several major features in the future: Protocol extension matchers: expect(1).to.equal(1) Add more composable matchers: expect([1, 2]).to(contain(1) && contain(2)) Increase flexibility of existing composable matchers: expect(1).to(equal(1) || beNil()) Allow wrapping existing matchers like: expect([1, 2]).to(contain(1).followed(by: 2)) But we're getting ahead of ourselves for a future that isn't here yet (or guaranteed). Let's focus back on Predicate. The New Predicate Type Nimble v7.0.0 introduces a new matcher API via the Predicate type (we used all the matcher names). For the purposes of discussion, matcher refers to the concept Nimble has for building expectations and Matcher refers to the (now) deprecated matcher API. The main goal is to help make matcher writing less error-prone in several ways: Support special nil handling typical for Nimble matchers. Make error messaging explicit and less shared-state munging. Be explicit about the trinary behavior matchers have instead of relying on bools. Predicate aims to address these goals by changing the closure to be a pure function that returns a custom PredicateResult type. The PredicateResult type is simply two values: PredicateResult(status: .fail, message: .expectedActualValueTo("equal <\(expected)>")) status describes if the matcher succeeds or fails against the given value and message is the structured textual representation of that status. status is a trinary with the following values: .matches - similar to returning "true". Indicates the expectation passes. .doesNotMatch - similar to returning "false". Indicates the expectation failed, but negation would succeed (eg - toNot) .fail - similar to returning "false". Indicates the expectation failed, even if negation was used. This allows matchers to better indicate improper usages that would incorrectly pass if negated. If you need only the normal boolean-like return, use the alternative PredicateResult constructor: PredicateResult(bool: true, message: ...) The message argument supports a more structured error messaging that composable matchers can rely upon. It is currently limited, but is open for possible expansion if you file an issue. Predicate replaces the following existing Nimble types: Matcher - Use Predicate instead. NonNilMatcherFunc - Use Predicate plus the .requireNonNil method MatcherFunc - Use Predicate instead. Since Predicate is not a protocol with an associated type, it makes function definitions much easier without requiring another type like NonNilMatcherFunc: // OLD METHOD: // returning protocol func equal<M: Matcher, T: Equatable where T == M.ValueType>(_ expected: T?) -> M { ... } // OLD METHOD: // using NonNilMatcherFunc or MatcherFunc func equal<T: Equatable>(_ expected: T?) -> NonNilMatcherFunc<T> { ... } // NEW METHOD func equal<T: Equatable>(_ expected: T?) -> Predicate<T> { ... } Removing the protocol with associated type allows more composability among matchers. Previous these function types made composing them difficult: // OLD METHOD: func firstMatcher<M: Matcher, T: Equatable where T == M.ValueType>(_ expected: T?) -> M { ... } func secondMatcher<T: Equatable>(_ expected: T?) -> NonNilMatcherFunc<T> { ... } // can only specify every matcher in the generic func usesOnlyTwoMatchers<M1: Matcher, M2: Matcher where M1.ValueType == M2.ValueType>(first: M1, second: M2) -> M // NEW METHOD: func firstMatcher<T: Equatable>(_ expected: T?) -> Predicate<T> { ... } func secondMatcher<T: Equatable>(_ expected: T?) -> Predicate<T> { ... } // can support many matchers func usesManyMatchers<T>(matchers: [Predicate<T>]) -> Predicate<T> Migrating to Predicate If you're not using custom matchers, there isn't any additional work for you 🎉. To migrate existing matchers, Nimble v7.0.0 currently provides temporary constructors: /// These constructors are for convenience in adopting Nimble v7.0.0, but will be removed in Nimble v9.0.0 // If you already have a Matcher type you need to simply convert to Predicate: Predicate.fromDeprecatedMatcher(myMatcher) // Alternatively, you can use the extension: myMatcher.predicate // If you want to construct a Predicate using the same arguments as MatcherFunc Predicate.fromDeprecatedClosure { actualExpression, failureMessage -> Bool in ... } // If you want to construct a Predicate using the same arguments as NonNilMatcherFunc Predicate.fromDeprecatedClosure { actualExpression, failureMessage -> Bool in ... }.requireNonNil These are useful to quickly adopt Nimble v7.0.0, but it's better in the long run to adopt the proper Predicate API to last beyond Nimble v9.0.0: // The simple way to implment a NonNilMatcherFunc matcher in the new Predicate way: public func equal<T: Equatable>(_ expectedValue: T?) -> Predicate<T> { // Alternatively, you can use Predicate.simple if you don't modify `msg`. // When a string is given to .define(), then // msg = .expectedActualValueTo("equal <\(expectedValue)>") // Predicate.define and Predicate.simple imply calling .requireNonNil. Predicate.define("equal <\(expectedValue)>") { actualExpression, msg -> PredicateResult in let actualValue = try actualExpression.evaluate() let matches = actualValue == expectedValue && expectedValue != nil if expectedValue == nil || actualValue == nil { if expectedValue == nil && actualValue != nil { return PredicateResult( status: .fail, message: msg.appendedBeNilHint() ) } return PredicateResult(status: .fail, message: msg) } return PredicateResult(status: PredicateStatus(bool: matches), message: msg) } } // For a MatcherFunc: public func beNil<T>() -> Predicate<T> { // Alternatively, you can use Predicate.defineNilable return Predicate.simpleNilable("be nil") { actualExpression -> PredicateStatus in let actualValue = try actualExpression.evaluate() return PredicateStatus(bool: actualValue == nil) } } To ease the migration process, Nimble will be removing Matcher after several major versions: v7.x.x will introduce a new replacement to Matcher family of types via the Predicate type. Matcher, NonNilMatcherFunc, MatcherFunc are marked as deprecated Introduces temporary, migration-friendly constructors on Predicate to help suppress warnings for now. v8.x.x will deprecate the temporary, migration friendly constructors. v9.x.x will remove the old matcher types and temporary migration-friendly constructors. New features that are released pre-v9.x.x will cater to the newer Predicate style. Also, all built-in Nimble matchers currently use Predicate and Predicate also implemented the Matcher type until it's removal. Other Changes toSucceed Matcher For quick, inline matchers, you can use toSucceed with the ToSucceedResult enum: expect { return .succeeded }.to(succeed()) expect { return .failed(reason: "expected a closure, got <nil> (use beNil() to match nils)") }.to(succeed()) Changelog (#390) Introduce new Matcher API (aka, Predicates) (#417) Fix optional binding violation for SwiftLint (thanks @ysk-tngc) (#410) Adds toSucceed matcher (thanks @Rivukis) (#420) Fix invalid reference to CwlCatchBadInstructionPOSIX.swift for case-sensitive file systems (thanks @dagio) As always, happy testing 😎!
最后提交信息为:
Bumping version to 7.0.0
v6.1.0
e3c1a78
2022-10-28 22:30
对比
v6.1.0
DBU
This is a relatively small release that addresses issues for Xcode 8.3 / Swift 3.1. Merry Testing! 👾 New: Add float and double overloads to beGreaterThan for ObjC (Thanks @soranoba) Changes: SwiftLint no longer runs for framework targets. Instead an internal SwiftLint target is used instead. (Thanks @wongzigii) Bugfixes: Fixes throwError matcher with the latest version of Swift (Thanks @aaroncrespo) Fixes throwError matcher warning for Xcode 8.3
最后提交信息为:
Another attempt to fix podspec (pod lib lint does not verify this)
下载
请输入验证码,防止盗链导致资源被占用
取消
下载
1
https://gitee.com/quietbirds/Nimble.git
git@gitee.com:quietbirds/Nimble.git
quietbirds
Nimble
Nimble
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册