我有一些代码要求我调用属性设置器来测试类的锁定功能是否正常工作(类的某些功能是async
,要求在执行期间设置挂锁布尔值)。RuntimeError
如果已为实例设置了锁,则已写入设置器以引发 a 。
这是代码:
@filename.setter
def filename(self, value):
if not self.__padlock:
self.__filename = value
else:
self.__events.on_error("data_store is locked. you should be awaiting safe_unlock if you wish to "
"change the source.")
Run Code Online (Sandbox Code Playgroud)
正如你在这里看到的,如果self.__padlock
是True
,aRuntimeError
被提升。尝试使用 python 断言 setter 时会出现问题unittest
。
似乎unittest
缺乏断言属性设置器是否引发异常所需的功能。
尝试使用assertRaises
显然不起作用:
# Non-working concept
self.assertRaises(RuntimeError, my_object.filename, "testfile.txt")
Run Code Online (Sandbox Code Playgroud)
如何断言类的属性设置器将在 pythonunittest.TestCase
方法中引发给定的异常?
我发现2015年这个旧的PowerShell文件删除了无用的Windows 10应用程序.很有用.但是出于代码压缩的原因,我发现它是这样编写的,我知道这只是浪费重复的语句:
Write-Host -NoNewline "Removing Candy Crush App..." -ForegroundColor White
Get-AppxPackage -AllUsers | Where-Object {$_.Name -like "king.com*"} | $
Write-Host "DONE" -ForegroundColor Green
Write-Host -Nonewline "Removing Twitter App..." -ForegroundColor White
Get-AppxPackage -AllUsers | Where-Object {$_.Name -like "*Twitter"} | Remove-AppxPackage
Write-Host "DONE" -ForegroundColor Green
Write-Host -Nonewline "Removing Facebook App..." -ForegroundColor White
Get-AppxPackage -AllUsers | Where-Object {$_.Name -like "*Facebook"} | Remove-AppxPackage
Write-Host "DONE" -ForegroundColor Green
...
# News / Sports / Weather
If ($App.DisplayName -eq "Microsoft.BingFinance")
{
Write-Host -NoNewline "Removing Finance …
Run Code Online (Sandbox Code Playgroud)