是否可以将 SoapUI 项目 XML 文件拆分为许多较小的文件?
我可以看到 XML 文件是代码版本控制中的一个争论点,并导致许多合并冲突。将项目拆分为许多较小的文件会更有意义,这样更改会更加独立;但是我们最终可能会在它们之间复制共享配置。
是这个问题的普遍采用的解决方案吗?我从未使用过 SoapUI(我的团队中有人使用它),所以我可能不了解 SoapUI 的最佳实践。
是否可以将 SoapUI 项目 XML 文件拆分为许多较小的文件?
我可以看到 XML 文件是代码版本控制中的一个争论点,并导致许多合并冲突。将项目拆分为许多较小的文件会更有意义,这样更改会更加独立;但是我们最终可能会在它们之间复制共享配置。
是这个问题的普遍采用的解决方案吗?我从未使用过 SoapUI(我的团队中有人使用它),所以我可能不了解 SoapUI 的最佳实践。
可能是“复合项目”选项符合您的要求: http: //www.soapui.org/Working-with-Projects/team-testing-support.html
此选项仅在soapUI Pro 中可用。
要解决这部分问题:
我可以看到 XML 文件是代码版本控制中的一个争论点,并导致许多合并冲突。
通过漂亮地打印项目文件,让 SoapUI 以更 VCS 友好的方式格式化项目文件可能会有所帮助。尝试Preferences -> WSDL Settings -> Pretty Print Project Files
另请参阅格式化 SoapUI 项目文件
这是一个小型 powershell 脚本,它将来自 SoapUI 项目的请求解析为单独的文件。它可能在某种程度上有用。
$lookupPath = "C:\temp\soapui-project.xml"
$ouputFolder = "C:\temp\out"
$invalidChars = [io.path]::GetInvalidFileNamechars()
[xml] $contents = Get-Content $lookupPath
$ns = @{con="http://eviware.com/soapui/config"}
$items = Select-Xml -Xml $contents -XPath '//con:request[@mediaType="application/json"]' -Namespace $ns
$nodes = $items | Foreach {$_.Node}
$requests = $nodes |
% {
$fileName = ($_.name -replace "[$invalidChars]","-") + ".txt"
$_.request | out-file (join-path $ouputFolder $fileName)
}