如何在没有虚拟化的情况下在Macintosh上完成"干净"测试?

Tom*_*idd 6 testing macos virtualization

我在Windows上运行的一件事是当你正在开发的网页浏览器插件或程序假设安装了一些东西,默认情况下并不总是出现在Windows上.一个完美的例子是.NET - 许多运行Windows XP的人从未安装任何版本的.NET,因此安装程序需要在必要时检测并修复它.

我在Windows中对此进行测试的方法是让虚拟机拥有一个干净,修补但未安装的XP或Vista或7或其他任何版本的快照.当我完成测试时,我只是放弃了自快照以来的任何更改.效果很好.

我现在正在为Macintosh开发一些东西,这对我来说是一个非常新的平台,我发现虚拟化似乎不是一种选择.它在Mac OS X的EULA中被明确禁止,它只允许来自Mac OS X Server,它看起来我如何定位终端产品对我没用,而我看到的一个程序可以虚拟化它 - VirtualBox - 只支持服务器并主动解决有关运行Mac OS X的消费者/客户端版本的任何讨论.我在该主题的任何地方找到的唯一指令似乎涉及使用与完整不兼容的"黑客"程序时间演出我正试图这样做.

因此看起来虚拟化已经出局,但在各个方面,我将要或者需要模拟在"干净"的Macintosh上安装和运行该软件的情况.人们通常如何做到这一点?只需购买多个Macintoshes并使用Time Machine?我是否认为这一切都错了,一切正常?

要清楚

  • 我不是想在Windows机器上运行Mac OS X. 我有一台Macintosh,我可以在Apple硬件上虚拟化Mac OS X,我只是没有看到制作非服务器版本的途径.
  • 我知道Mac OS X Server可以虚拟化,但这不是我想要的.
  • 我知道有一些未经批准/不支持的方法可以让Mac OS X在像VirtualBox这样的虚拟化程序中运行,但出于法律原因,我对这些不感兴趣.
  • 我的问题不是"我怎么能这样做?" 但是"所以我在Windows上做的事情似乎不可能,通常在Macintosh上,所以人们做了什么来实现我的目标?"

Ukk*_*kko 2

当我坐在这里,我的工作机器上有无数版本的各种 Windows 虚拟机时,我在 Mac 上从来没有真正需要它。最大的原因是应用程序在 Mac 上捆绑部署的方式。理想情况下,安装是复制,卸载是将应用程序拖到垃圾箱。在 Windows 上,应用程序之间有更多的共享状态,必须考虑到大多数应用程序在 Mac 上没有的共享状态。现在,如果您正在编写设备驱动程序或 VPN 客户端或需要进入系统这些部分的东西,那么您就没有那么奢侈了。

我真正觉得需要虚拟化的是当我想要针对不同版本的 OS X,或者进行某种回归检查以查看在 XYX 版本下情况是否确实不同时

那么我们如何实现您想要的目标,默认是不关心,因为您不会因为应用程序包而面临相同的风险。或者,如果您愿意,可以购买一堆外部硬盘驱动器来启动并根据需要更换它们。(我只在两个版本的 OS X 上这样做过一次,所以我不能说这真的是行业惯例。)