CFC-Servers / CFC-Servers/GLuaTest
Create some way to do stub a function a certain number of times
- Dominant language
- Lua
- Stars
- 87
- Forks
- 14
- PR merge metrics
- No merged PRs in 30d
Description
When making a stub, it may be desirable to only stub the function for a single call.
You can do this now, like:
```lua
local hookStub
hookStub = stub( hook, "Call" ).with( function()
hookStub:Restore()
end )
hook.Call( "blah" )
expect( hookStub ).to.haveBeenCalled()
```
But if you don't localize `hookStub` first, as would be common for these sorts of tests:
```lua
local hookStub = stub( hook, "Call" ).with( function()
hookStub:Restore()
end )
```
You would get an error on your `hook.Call` invocation, with the error message `attempt to index global 'hookStub', a nil value`.
This of course makes sense, but it can be confusing. Instead, perhaps we could have something like:
```lua
local hookStub = stubOnce( hook, "Call" )
hook.Call( "blah" )
expect( hookStub ).to.haveBeenCalled()
```
More realistically, we should allow a hook to be stubbed for any number of calls. Maybe as an optional third parameter to `stub()`?
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.